Soyut Sınıflar ve Arayüzler
TypeScript içinde soyut sınıflar ve arayüzler kavramını, kullanım sınırlarını ve güvenilir uygulama biçimini öğrenin.
Soyut Sınıflar ve Arayüzler, TypeScript ile nesne yönelimli tasarım çalışırken bileşenler arasındaki sorumlulukları belirginleştirmek için kullanılan yaklaşımı açıklar. Bir tür, veriyi ve o veriyi koruyan davranışları aynı sözleşmede birleştirir; kurucu geçerli başlangıç durumunu garanti etmelidir.
Yalnızca alan taşıyan yapıları gereksiz kalıtım hiyerarşilerine çevirmek yerine değer semantiğini ve değişmezliği değerlendirmek gerekir. İsimlendirme, küçük sorumluluklar ve görünür veri akışı; kodun yalnızca çalışmasını değil, anlaşılmasını da sağlar. Aşağıdaki örnek, konuyu küçük ve izlenebilir bir akış içinde gösterir.
Yaygın hata ve doğru yaklaşım
Girdi, çıktı ve hata sözleşmesini belirsiz bırakmak çağıran kodu kırılgan hâle getirir. Normal akış kadar başarısızlık davranışını da açıkça tasarlayın.
Sonuç
Soyut Sınıflar ve Arayüzler, doğru sınırlar ve açık bir sözleşmeyle kullanıldığında TypeScript kodunun güvenilirliğini artırır. Önce doğruluğu kurun; ölçüm göstermeden karmaşık optimizasyona yönelmeyin.
interface Repository<T extends { id: number }> {
find(id: number): Promise<T | undefined>;
}
class MemoryRepository<T extends { id: number }> implements Repository<T> {
constructor(private readonly items: T[]) {}
async find(id: number): Promise<T | undefined> {
return this.items.find(item => item.id === id);
}
}