با اولین قسمت از سری آموزشی ASP.NET MVC از وبسایت پرووید در خدمت شما هستیم. در این سری آموزشی در رابطه با توسعه نرم افزارهای وب با استفاده از ASP.NET MVC صحبت خواهیم کرد. در ابتدای کار باید بگوییم که دانش شما در زمینه ی برنامه نویسی با سی شارپ و ویژوال استادیو پیش نیاز این سری آموزش ها می باشد. بنابراین به شما توصیه می کنیم که از بسته ی آموزش ویدئویی سی شارپ دات نت و بسته ی آموزش ویدئویی کار با ویژوال استادیو برای ساخت برنامه های دات نت پرووید استفاده کنید. ضمناً، این سری آموزش ها از ASP.NET MVC 5 استفاده خواهند کرد ولی مباحث مطرح شده در تمامی ورژن های ASP.NET MVC قابل انجام هستند. علاوه بر این، توصیه می کنیم بسته ی آموزش ویدئویی تبدیل شدن به یک توسعه دهنده Full-stack در دات نت سری اول و بسته ی آموزش ویدئویی Entity Framework 6 وبسایت پرووید را نیز استفاده کنید. در ابتدا در رابطه با معماری MVC صحبت خواهیم کرد.
در این بخش از این آموزش در رابطه با معماری MVC صحبت خواهیم کرد. در واقع MVC یک الگوی طراحی است. در رابطه با الگوهای طراحی در بسته ی آموزش ویدئویی Design Pattern ها در سی شارپ از وبسایت پرووید صحبت کرده ایم. در حوزه ی توسعه ی نرم افزار انواع مختلفی از الگوهای طراحی وجود دارد. در رابطه با MVC باید بدانید که این الگو جز دسته ی Architectural Pattern ها می باشد و مخصوص ابزارهای مایکروسافت نیست و مدت ها قبل معرفی شده است.
کلمه ی MVC سر نام سه کلمه ی Model، View و Controller می باشد. در واقع برنامه ها در معماری MVC به سه Component تقسیم می شوند. در ادامه در رابطه با این Component ها صحبت خواهیم کرد.
به طور ساده Model وظیفه ی تعریف کردن Data و Business Logic را دارد. داده های برنامه در Model قرار می گیرند. در واقع Model وظیفه ی بازیابی داده ها و ذخیره کردن آنها بر روی دیتابیس را دارند. به طور ساده، Model حاوی Data و Business Logic است.
بخش View همان User Interface یا واسط کاربری برنامه است. View وظیفه ی نشان دادن داده های Model به User و همچنین فراهم کردن امکان تغییر دادن داده های نشان داده شده را دارد.
وظیفه ی Controller هندل کردن Request های کاربر است. به عبارت ساده، زمانی که User با View تعامل (Interaction) پیدا می کند (مثلاً بر روی یک Button کلیک می کند)، یک URL Request در Controller اجرا یا اصطلاحاً Raise می شود. این Request توسط Controller هندل می شود. علاوه بر این، Controller وظیفه ی Render کردن View مناسب با استفاده از داده های درون Model را دارد.
اگر این مباحث برای شما کمی گنگ هستند، توصیه می کنیم از آموزش عملی ساخت یک پروژه ASP.NET Core MVC و Entity Framework Core از وبسایت پرووید را استفاده کنید. در واقع Controller یک Request Handler است.
تصویر زیر نشان دهنده ی سه Component مذکور در MVC است.
علاوه بر این، تصویر زیر Flow (منظور از Flow جریان یا همان دنباله ی انجار یک کار است.) مربوط به User Request ها را در ASP.NET MVC نشان می دهد.
همانطور که در تصویر زیر نشان داده شده است زمانی که User یک URL را در مرورگر وارد می کند، یک Request به سرور ارسال شده و Controller مناسبی برای هندل کردن آن Request فراخوانده می شود. پس از آن، Controller این Request را هندل می کند. به عبارت دیگر، View و Model مناسبی را انتخاب کرده و Response یا همان پاسخ را می سازد و به سمت کلاینت ارسال می کند. این همان جریان یا Flow ای است که در قسمت بالا به آن اشاره کردیم. در قسمت های مختلف این آموزش در رابطه با جزییات این تعامل و جریان صحبت خواهیم کرد.
منبع: وبسایت پرووید