معرفی ASP.NET MVC

معماری MVC در دهه 70 میلادی معرفی شد اما در آن زمان پیاده سازی برنامه های Stand Alone با استفاده از این معماری چندان مورد استقبال برنامه نویسان قرار نگرفت. اما با ظهور اینترنت و برنامه های مبتنی بر وب این معماری شانس دوباره ای یافت. ASP.NET MVC فریم ورک مبتنی بر معماری MVC مایکروسافت میباشد که در این سری مقالات به معرفی و بررسی آن خواهیم پرداخت. از دلایل محبوبیت این معماری نظام بخشیدن به پروژه های <a href="http://psi-co.net">طراحی سایت</a> میباشد. معمولاً به علت همکاری چندین تکنولوژی مختلف با هم در برنامه های مبتنی بر وب ساختار پروژه های بزرگ پیچیده میشوند و اعمال تغییرات و همچنین رفع خطا های پروژه مشکل و زمانبر میشوند که معماری MVC با جداسازی لایه های مختلف برنامه نویسی تا حد زیادی این مشکل را رفع کرده است. از دیگر مزایای این فریم ورک میتوان به کنترل کامل بر روی HTML نهایی، پشتیبانی از فریم ورکهای گوناگون برای Unit Testing ، کنترل بر روی آدرسهای URL و تعامل راحت تر با فریم ورکهای javascript اشاره کرد.

مقالات مرتبط

معماری MVC در دهه 70 میلادی معرفی شد اما در آن زمان پیاده سازی برنامه های Stand Alone با استفاده از این معماری چندان مورد استقبال برنامه نویسان قرار نگرفت. اما با ظهور اینترنت و برنامه های مبتنی بر وب این معماری شانس دوباره ای یافت. ASP.NET MVC فریم ورک مبتنی بر معماری MVC مایکروسافت میباشد که در این سری مقالات به معرفی و بررسی آن خواهیم پرداخت. از دلایل محبوبیت این معماری نظام بخشیدن به پروژه های طراحی سایت میباشد. معمولاً به علت همکاری چندین تکنولوژی مختلف با هم در برنامه های مبتنی بر وب ساختار پروژه های بزرگ پیچیده میشوند و اعمال تغییرات و همچنین رفع خطا های پروژه مشکل و زمانبر میشوند که معماری MVC با جداسازی لایه های مختلف برنامه نویسی تا حد زیادی این مشکل را رفع کرده است. از دیگر مزایای این فریم ورک میتوان به کنترل کامل بر روی HTML نهایی، پشتیبانی از فریم ورکهای گوناگون برای Unit Testing ، کنترل بر روی آدرسهای URL و تعامل راحت تر با فریم ورکهای javascript اشاره کرد.

MVC چیست؟

نام MVC از Model-View-Controller گرفته شده و هدف اصلی آن جدا سازی اجزای تشکیل دهنده برنامه است.بخصوص برنامه هایی که دارای واسط کاربری گرافیکی هستند (GUI-Graphical User Interface) این الگوی طراحی در سایر فریم ورک ها مثل Ruby on Rails و Django و Zend هم بکار برده شده است.

Mدر MVC معادل Model است و حاوی اطلاعاتی است که نهایتا در اختیار کاربر قرار خواهد گرفت. مثلا اگر فرض کنیم اطلاعات یک شخص را میخواهیم به کاربر نشان دهیم، کلاس مدل ما شامل property های زیر خواهد بود: نام، آدرس، ایمیل و تلفن

V در MVC معادل View است. و حاوی نتیجه ای است که کاربر نهایتا در بروزر خواهد دید. view در واقع userinterface برنامه ماست.

C در MVC معادل Controller است. کنترلر رابط بین model وview است. کنترلر 3 مسئولیت اصلی دارد:

هر کنترلر شامل چندین متد public است که هر متد یک action ارائه میدهد که قرار است کنترلر بر روی مدل اجرا کند. هر action method در کنترلر با یک URL مرتبط است. وقتی کنترلر درخواستی برای آن URL خاص دریافت میکند، Action متناسب با آن را اجرا کرده و view انتخابی را رندر کرده و به بروزر برمیگرداند.

شکل زیر رابطه بین اجزای MVC را بخوبی نشان میدهد:

mvc

حال با ایجاد یک پروژه آشنای Hello World با ساختار Controller و view آشنا میشویم:

برای ایجاد پروژه جدید مطابق معمول از منوی File ویژال استودیو ، گزینه New و سپس Project را انتخاب کنید و سپس قالب زیر را انتخاب کنید :

mvc-new-project

میتوانید basic را انتخاب کنید ، اما basic شامل یک سری الگوهای آماده ، مثل Membership دات نت فریم ورک ، مراجع Jquery ، کلاسهای CSS از پیش ساخته شده است

mvc-solution

همانطور که می بینید پوشه های مجزایی برای هر دسته از فایلها وجود دارد : مثل Controller , View , Model , ... پوشه Script شامل فایلهای جاوا اسکریپت و Jquery و MicrosoftAjax است . پوشه Conetnt هم محلی برای نگهداری فایلهای CSS و تصاویر است. پوشه App_Data جایی است که فایل‌هایی با قابلیت read/write در آن قرار می‌گیرند

مطابق شکل زیر اولین کنترلر خود را به پروژه اضافه کنید: نام کلاس کنترلر مطابق قرارداد، مختوم به کلمه Controller است

mvc-controller

mvc-controller

برای اکشن یک View ایجاد می کنید و در آن ، مشخص می کنید که کاربر چه خروجی را باید مشاهده کند برای این کار روی اکشن راست کلیک کنید:

mvc-view

خواهید دید که فایلی به نام Index.cshtml در فولدر View ایجاد می شود . به ازای هر Controller یک فولدر وجود دارد که در آن View های مربوطه نگهداری می شوند

این فایل را باز کنید و محتویات زیر را به آن اضافه کنید:

mvc-view2

با فشردن دکمه F5 اولین صفحه وب خود را که با تکنولوژی MVC ساخته اید ببینید.

خب تا اینجای کار یک پروژه جدید MVC ایجاد کردیم ، کمی در مورد ساختار MVC صحبت کردیم در مقالات بعدی بیشتر به بررسی امکانات این معماری زیبا خواهیم پرداخت.