Design Patterns1 دقیقه مطالعه
Repository Pattern چیست؟
الگویی که دسترسی به داده را پشت یک Interface مخفی میکند تا لایههای بالاتر از جزئیات دیتابیس بیخبر بمانند.
چرا مهم است؟
بدون Repository، کوئریهای دیتابیس در سراسر برنامه پخش میشوند و تغییر دیتابیس یا تستنویسی بسیار دشوار میشود.
مثال
public interface ICapsuleRepository
{
Task<Capsule?> GetBySlugAsync(string slug);
}
public class CapsuleRepository : ICapsuleRepository
{
// پیادهسازی با Dapper + Stored Procedure
}
نکات مهم
- در این پروژه Repository «سبک» است: فقط CRUD و کوئریهای اختصاصی، بدون Unit of Work پیچیده.
- هر Repository دقیقاً پشت یک Interface در لایه Application قرار میگیرد.
اشتباه رایج
❌ نوشتن یک Repository عمومی (Generic Repository
خلاصه
Repository Pattern دسترسی به داده را پشت یک Interface پنهان میکند. این کار تستپذیری کد را بالا میبرد و تغییر فناوری دیتابیس را آسان میکند. در این پروژه Repositoryها سبک و اختصاصی هستند، نه Generic.
حالا امتحان کن
🧩آزمون Repository Pattern6 سؤال · نمره قبولی 60٪این مطلب مفید بود؟
☆نشان کردن