Repository در معماری MVC چیست و چه کاری انجام میدهد؟
حسین تاباننوع: پرسش
1396/6/21
732 1
میدونم که برای استفاده از دیتابیس استفاده میشود و میشه یکسری لینکها داشت برای یک مدل ولی میخواستم دقیقتر بدونم که چیه
دیدگاهها
مجید هوشیار
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);
سلام. توضیح این مورد یکم طولانی هست و شاید برای قسمت پرسش و پاسخ مناسب نباشد اما سعی میکنم مختصر و مفید توضیح بدم.
Repository در حقیقت مانع تکرار در نوشتن Logic پروژه و Query های شما خواهد شد.
یکی دیگر از دلایل استفاده از ریپوزیتوری این است که سوئیچ کردن از یک دیتابیس به دیتابیس دیگر بسیار مشکلات کمتری را خواهد داشت. که این موضوع به دلیل جدا بودن پروژه شما از کوئریهای مختلف در کلاسهای متفاوت است.
از موضوعهای مهم دیگر میتوان به تست واحد پروژه اشاره کرد که قطعا با استفاده از Repository Pattern بسیار سادهتر و قابل اطمینانتر است
یک مثال برای درک بهتر تفاوت: