Repository در معماری MVC چیست و چه کاری انجام می‌دهد؟

Repository در معماری MVC چیست و چه کاری انجام می‌دهد؟

حسین تابان حسین تابان نوع: پرسش 1396/6/21

میدونم که برای استفاده از دیتابیس استفاده میشود و میشه یکسری لینک‌ها داشت برای یک مدل ولی میخواستم دقیقتر بدونم که چیه

دیدگاه‌ها
مجید هوشیار مجید هوشیار

سلام. توضیح این مورد یکم طولانی هست و شاید برای قسمت پرسش و پاسخ مناسب نباشد اما سعی میکنم مختصر و مفید توضیح بدم.

Repository در حقیقت مانع تکرار در نوشتن Logic پروژه و Query های شما خواهد شد.

یکی دیگر از دلایل استفاده از ریپوزیتوری این است که سوئیچ کردن از یک دیتابیس به دیتابیس دیگر بسیار مشکلات کمتری را خواهد داشت. که این موضوع به دلیل جدا بودن پروژه شما از کوئری‌های مختلف در کلاس‌های متفاوت است.

از موضوع‌های مهم دیگر میتوان به تست واحد پروژه اشاره کرد که قطعا با استفاده از Repository Pattern بسیار ساده‌تر و قابل اطمینان‌تر است

یک مثال برای درک بهتر تفاوت:

//Repository بدون 
Context.Doctors.Where(d=>d.Status).OrderBy(d=>d.CreateTime).Take(10);

//Repository به وسیله 
DoctorRepository.GetActiveList(Count);
CMPin

برای درج دیدگاه وارد شوید