دوره های آموزشی
خانه / #C / الگوی ریپوزیتوری ( Repository Pattern ) در ASP.NET MVC

الگوی ریپوزیتوری ( Repository Pattern ) در ASP.NET MVC

در این مقاله ، در مورد الگوی ریپوزیتوری (Repository Pattern ) که اغلب برای ایجاد برنامه های کاربردی اینتر پرایز استفاده می شود مطالبی می آموزیم. الگوی ریپوزیتوری می تواند UI برنامه، اجزای دسترسی به داده ها و Business logic را به لایه های مختلفی تقسیم می کند که به راحتی قابل نگهداری و قابل آزمایش هستند. این آموزش repository در mvc به صورت گام به گام می باشد.

برای درک بهتر الگوی ریپوزیتوری ، یک برنامه Client ایجاد خواهیم کرد. می توانیم هر نوع ساختار پروژه را برای اجرای الگوی ریپوزیتوری ایجاد کنیم. برای مثال، می توانیم یک کلاس ریپوزیتوری را در خود فولدر پروژه MVC ایجاد کنیم ، یا می توانیم پروژه ای در کلاس های مختلف ازlibrary را در به همان روش ایجاد کنیم یا می توانیم از معماری onion برای اجرای آن که شامل پروژه های کلاس های مختلفی از library و پروژه MVC در یک راه حل است را بکار گیریم.

برای سادگی کار، ما یک Repository class library و یک پروژه MVC را در یک سلوشن ایجاد خواهیم کرد. در الگوی ریپوزیتوری، می توانیم از ریپوزیتوری عمومی و کلی ( generic repository ) برای اجرای عملیات CRUD استفاده کنیم که می تواند برای اجرای عملیاتی خاص در entity ، توسط هر entity  از پروژه و ریپوزیتوری مرسوم استفاده شود. ابتدا یک کلاس Client در پروژه MVC ایجاد کنید.

الگوی Repository در MVC

سپس، ما یک رابط ( interface ) را در پروژه ریپوزیتوری class library ایجاد خواهیم نمود. این رابط شامل عملیات عمومی پایگاه داده برای هر domain entity می باشد. ما آن را  IRepository نامگذاری می کنیم.

 

سپس، یک کلاس ریپوزیتوری برای اجرای این رابط ایجاد خواهیم کرد. ما آن را class Repository نامگذاری خواهیم نمود.

 

برای دسترسی به داده ها ، ما از Entity framework code first approach استفاده می کنیم ، بنابراین یک کلاس DbContext ایجاد خواهیم کرد. کلاس ClientContext می تواند به صورت فهرست زیر نمایش داده شود:

 

ارجاع به الگوی Repository در MVC

اکنون باید پروژه ریپوزیتوری class library را به پروژه MVC Web ارجاع دهیم. برای این کار، بر روی پروژه Client.Web راست کلیک کرده و پروژه reference Client.Repository را اضافه کنید. اکنون یک کنترلر را به پروژه Client.Web را (scaffold) خواهیم زد.

برای scaffold زدن، روی پوشه کنترلر راست کلیک کرده و کنترلر جدید را با استفاده از چارچوب نهاد (entity) انتخاب کرده و نام آن را Client Controller بگذارید. برای استفاده از کلاس IRepository برای عملیات پایگاه داده، موضوع و مقصود از کلاس ریپوزیتوری را ایجاد خواهیم نمود و روش کلاس ریپوزیتوری را نامگذاری خواهیم کرد. اکنون برنامه را بسازید و اجرا کنید . ما باید قادر باشیم عملیات CRUD را اجرا کنیم.

repository در mvc

درباره ی برنامه نویسان

همچنین ببینید

ASPCore

آموزش ASP.NET Core MVC و ویژوال استودیو

در این سری آموزش ها به نحوه ساخت یک پروژه در ASP.NET Core MVC 2 ...

یک دیدگاه

  1. نوشین یزدان پناه

    سلام در این آموزش طریقه اتصال بهپایگاه داده گفته نشده و به نظر من ناقص هست

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *