Junior — Middle
Veri ile çalışma için ortak depo kavramını ve temel avantajlarını açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Genel depo (Repository), veri erişimi için soyutlama sağlayan bir tasarım desenidir. Veri nesnelerinin alınması, saklanması ve yönetilmesi mantığını kapsüller, iş mantığını veritabanı veya diğer kaynaklarla çalışma detaylarından ayırır.
Genel depo avantajları:
- Veri erişimini basitleştirme — iş katmanı, verilerin nasıl saklandığından endişe duymadan depo ile çalışır.
- Test edilebilirliğin artırılması — birim testleri için depo kolayca sahte nesnelerle değiştirilebilir.
- Tek değişiklik noktası — veri saklama yöntemi değişirse, sadece depo değiştirilir, diğer kodlara dokunulmaz.
- Kodun yeniden kullanımı — ortak veri işlemleri bir kez uygulanır.
C# dilinde depo arayüzü örneği:
public interface IRepository<T>
{
IEnumerable<T> GetAll();
T GetById(int id);
void Add(T entity);
void Update(T entity);
void Delete(int id);
}
Bu arayüz, farklı veri kaynakları için uygulanabilir — veritabanları, dosyalar, API'ler vb.