دسته بندی ها
01:23 1399/05/15

الگوی Repository چیست ؟ کاربرد ریپازیتوری چیست؟

مشخصات سوال کننده :
کاربر : hamdola     امتیاز کاربر : 121     رتبه کاربر : 12
دسته بندی : Asp.net Web Form Asp.net Mvc Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 10641
هوش مصنوعی

پاسخ هوش مصنوعی

الگوی Repository (ریپازیتوری) یک الگوی طراحی است که به توسعه دهندگان کمک می کند تا تعاملات با پایگاه داده را به طور مؤثری سازماندهی کنند. این الگو از اصلی ترین مفاهیم معماری نرم افزار است که در بسیاری از پروژه های نرم افزاری استفاده می شود.

هدف از استفاده از الگوی ریپازیتوری، جداسازی منطق تجاری از منطق داده ها است. به این ترتیب، می توانیم کد را تمیزتر و قابل مدیریت تر کنیم و در عین حال تست پذیری کد را نیز افزایش دهیم.

در یک پروژه ASP.NET Core، شما باید از ریپازیتوری در موارد زیر استفاده کنید:

  • مدیریت داده های خواندنی و نوشتنی
  • فراخوانی داده ها از یک یا چند منبع داده (مانند پایگاه داده، فایل ها و غیره)
  • سازماندهی و مدیریت کویری های پیچیده

برای تعریف یک ریپازیتوری، شما می توانید متدهایی مانند زیر را در آن قرار دهید:

public interface IRepository where TEntity : class
{
    IEnumerable GetAll();
    TEntity GetById(int id);
    void Add(TEntity entity);
    void Update(TEntity entity);
    void Delete(int id);
}

شما می توانید یک پیاده سازی برای این رابط ایجاد کنید که با Entity Framework یا هر ORM دیگری یکپارچه شود.

در مورد منابع آموزشی، چندین ویدیو در YouTube و وب سایت های آموزشی وجود دارد که موضوع الگوی ریپازیتوری را به خوبی توضیح می دهند. به عنوان مثال، می توانید به وب سایت هایی مانند Udemy یا Coursera مراجعه کنید و دوره های مربوط به الگوهای طراحی به ویژه در ASP.NET Core را جستجو کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 00:43 1399/05/17

سلام در مورد سوال شما الگوی Repository چیست می تونید این مقاله رو مطالعه بفرمایید.

در مقاله بالا به بسیاری از سوالات پاسخ داده شده. بعضی از این سوالات :

  • الگوی Repository چیست ؟
  • و چه مزایا و معایبی دارد؟
  • با وجود الگوی Repository چرا مایکروسافت در نسخه Asp.net core لایه Service را معرفی کرد؟

همچنین در مورد الگوی Repository یک فیلم آموزشی هم تهیه شده که می تونید مشاهده بفرمایید.

 

 

 

کاربرد الگوی Repository چیست ؟

در معماری پیازی یا معماری های دیگری که در پروژه استفاده میشود معمولا لایه های مختلفی برای دسته بندی کار به وجود می آید. معمولا دیتابیس در یک لایه قرار می گیرد، UI در لایه دیگر، Bussiness Logic در لایه دیگر و ... 

معمولا در لایه Data یا Domain یک پوشه به نام Repository ایجاد می شود. در این پوشه کلاسهایی را ایجاد می کنیم که در آنها کوئری های مورد نیاز نوشته می شود. این کوئری ها معمولا Insert یا Update یا Delete ساده نیستند، چون برای عملیات CRUD به صورت ساده معمولا نیازی به ریپازیتوری نیست.

 

مثلا فرض کنید می خواهید اطلاعات دانش آموزان یک کلاس را که معدل بالای 17 دارند و در درس ریاضی نمره 20 گرفته اند را استخراج کنید. و یا حتی کوئری های پیجیده تر. این کوئری ها را می توان در کلاس های Repository ایجاد کرد.

 

نکته : دقت کنید معمولا Repository ها به صورت مستقیم با دیتابیس یا همان DbContext پروژه شما در ازتباط هستند و برای استفاده از این کلاسها باید از Interface ها استفاده کنید. (لایه Service)

 

الگوی Repository

ویرایش شده در پنج شنبه 27 مرداد 1401 ساعت 17:30:26
به این پاسخ امتیاز بدهید    1
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود