معماری MVC چیست – جلسه ۱۰

What is MVC - Session10

در این جلسه به شرح معماری MVC و نحوه عملکرد آن در ASP.NET Core خواهیم پرداخت. همچنین Controller، Model و View و ارتباط بین آن ها را با ذکر مثال توضیح خواهیم داد.

معماری MVC چیست؟

به طور کلی MVC به معماری Controller – Model- View گفته میشود. در این طراحی، اپلیکیشن به سه قسمت اصلی ذکر شده تقسیم میگردد. در MVC درخواست کاربر به Controller ارسال میشود و این قسمت وظیفه ارتباط با Model جهت انجام درخواست کاربر را دارد. همچنین Controller مسئول انتخاب View مناسب جهت نمایش پاسخ دریافتی از Model به کاربر میباشد.

معماری MVC

معماری MVC یکی از روش‌های پیاده سازی User Interface Layer میباشد که با توجه به وسعت برنامه میتواند در برگیرنده لایه های منطق Business Logic Layer و دسترسی به داده Data Access Layer هم باشد. همانگونه که در تصویر مقابل مشاهده میکنید این معماری به سه قسمت Controller – Model – View تقسیم میشود که هر قسمت در برگیرنده قسمت خاصی از برنامه میباشد.

نمایی از معماری طراحی نرم‌افزار MVC
نحوه کارکرد MVC در ASP.NET Core و چرخه دریافت درخواست و ارسال پاسخ

همانگونه که در تصویر فوق مشاهده میکنید، درخواست توسط یک مرورگر به اپلیکشن ارسال میگردد. این درخواست با توجه به URL و آدرس دهی ASP.NET Core MVC به کنترلر مربوطه و اکشن مناسب ارسال میشود. Controller و Action Method مربوطه با توجه به نوع درخواست با Model مناسب ارتباط برقرار میکند. Model اطلاعات مورد درخواست را با استفاده از ارتباط با پایگاه داده و یا هر منبع اطلاعاتی دیگر تهیه کرده و به کنترلر باز میگرداند. سپس کنترلر اطلاعات دریافتی را با انتخاب View مناسب و ارسال اطلاعات به آن به کاربر نمایش میدهد. View همچنین در زمان پردازش اطلاعات در صورت Strongly Typed بودن ساختار Model را از قسمت Models دریافت میکند.

Controller

همانگونه که ذکر شد، Controller وظیفه دریافت درخواست کاربر و ارتباط با Model جهت دریافت اطلاعات مورد درخواست را دارد. همچنین این قسمت وظیفه انتخاب View مناسب جهت نمایش اطلاعات درخواستی را برعهده دارد. درواقع هر درخواست که توسط یک URL به وب اپلیکشن ارسال میگردد به صورت پیش فرض دارای دو قسمت ثابت و یک قسمت انتخابی میباشد. همانگونه که در تصویر زیر مشاهده میکنید قسمت اول بعد از نام دامنه، به نام کنترلر اشاره میکند. قسمت بعد به Action Method مربوطه اشاره کرده و قسمت سوم نیز جهت ارائه ID برای مواقع مورد نظر میباشد که در واقع مانند Query String عمل میکند.

نمای از یک Controller در معماری MVC

Model

این قسمت مربوط به کلاس‌ها و اینترفیس‌های مربوط به هر موجودیت در برنامه میباشد. همچنین این قسمت میتواند در برگیرنده قسمت منطق Business Login Layer و ارتباط با پایگاده داده Data Access Layer برنامه باشد. در این قسمت برای هر جدول یا Entity یک کلاس تعریف میگردد. ضمنا برای انجام عملیات بروی آن Entity یک Interface Repository و یک Repository ایجاد میگردد. البته اضافه نمودن Interface Repository الزامی نمیباشد، ولی برای ایجاد Dependency Injection مورد نیاز میباشد. تمایی موارد ذکر شده در جلسات آینده با جزئیات کامل شرح داده خواهد شد.

نمایی از قسمت Model در معماری MVC

View

این قسمت جهت نمایش داده شدن در مرورگر میباشد که درواقع یک فایل HTML میباشد که توسط موتور Razor امکان اضافه نمودن کدهای CSharp یا VB در آن وجود دارد. با توجه به زبان برنامه نویسی مورد نظر ما پسوند این فایل میتواند CSHTML و یا VBHTML باشد. این قسمت همچنین در صورتی که از نوع Strongly Type باشد ساختار داده خود را از قسمت Model دریافت میکند. این بخش باید دارای حداقل منطق باشد و تا حد امکان منطق برنامه در قسمت Model پیاده سازی گردد.

نمایی از قسمت View در معمای MVC

در صورت نیاز به جزئیات بیشتر، میتوانید ویدئو آموزشی این جلسه را تماشا نمایید. همچنین برای آگاهی از جلسات بعدی این دوره آموزشی، ما را در اینستاگرام، تلگرام و یوتیوب دنبال کنید و از این طریق با ما در ارتباط باشد.

تماشای ویدیو در یوتیوب ما

دانلود اسلایدهای آموزشی این جلسه از اینجا

برچسب ها

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
0
افکار شما را دوست داریم، لطفا نظر دهید.x