İçeriğe geç

Dispose Deseni (ARCH3082)

Anahtar typescript.performance.dispose-pattern · Önem warning · Kategori performance

Bir sınıf kapatılabilir/serbest bırakılabilir alanlara sahipse ancak temizleme sözleşmesini uygulamıyorsa, sahip olduğu kaynaklar hiç serbest bırakılmaz.

class Logger {
private stream = fs.createWriteStream("log.txt");
write(msg: string): void {
this.stream.write(msg);
}
// dispose yok - stream sızar
}
class Logger implements Disposable {
private stream = fs.createWriteStream("log.txt");
write(msg: string): void {
this.stream.write(msg);
}
[Symbol.dispose](): void {
this.stream.close();
}
}

Kapatılabilir alanlar tutan sınıflarda temizleme sözleşmesini (Disposable) uygulayıp sahip olunan kaynakları serbest bırakın.