Rifat Akarca Blog

Repository İnterface Nedir?

145 Okunma 30.10.2024
Repository İnterface Nedir?

Repository interface, veritabanı ile etkileşimde bulunan sınıfların ortak bir standart üzerine oturtulmasını sağlayan bir tasarım kalıbıdır.

Repository interface, veri katmanı ve iş katmanı arasında bir soyutlama sağlar ve veritabanı işlemlerinin merkezi bir noktadan yapılmasını kolaylaştırır.

Repository interface, genellikle veritabanı tablolarına karşılık gelen generic tipleri alır ve bu tipler üzerinde CRUD (Create, Read, Update, Delete) gibi temel operasyonları gerçekleştiren metotları tanımlar.

Repository interface, aynı zamanda veri erişimini ORM (Object Relational Mapping) araçlarıyla kombine ederek daha yüksek seviyede veri erişim imkanı sunar.

public interface IEntityRepository<T> where T:class,IEntity,new()
{
    	T Get(Expression<Func<T, bool>> filter);
    	T? GetById(int id);
    	List<T> GetList(Expression<Func<T, bool>> filter = null!);
    	void Add(T entity);
    	void AddRange(IEnumerable<T> entities);
    	void Update(T entity);
    	void UpdateRange(IEnumerable<T> entities);
    	void Delete(T entity);
    	void DeleteById(int id);
    	void DeleteRange(IEnumerable<T> entities);
    	bool IsExists(Expression<Func<T, bool>> filter);
}