ASP.NET MVC چیست؟

ASP.NET MVC

زمان مطالعه

5 دقیقه

تعداد بازدید

95

تعداد پرسش ها

0

افزودن به لیست علاقه مندی ها


برچسب ها :

آموزش Asp.net

اشتراک گذاری این مطلب

ASP.NET MVC یک ساختار وب براساس معماری Mode-View-Controller) MVC) است. MVC مخفف سه کلمه Model (مدل ) و View(نمایشگر) و controller( کنترلگر) یک الگوی معماری است نه طراحی. برنامه نویسان می توانند برنامه های وب پویا را با این ساختار ایجاد کنند که یک جداسازی مشخصی از مفاهیم، توسعه سریع و TDD را امکان پذیر می کند. برخی از برنامه نویسان، همچنان از ASP.NET که بر مبنای فرم های وب و Postback است، استفاده می کنند، برخی از ویژگی های MVC سود می برند و بعضی ها هم دو پلت فرم را ترکیب می کنند و این موضوع بیانگر این است که هیچکدام از پلت فرم ها ناقض یکدیگر نیستند.

 

معماری MVC در Asp.Net

در واقع MVC بر روی معماری های چند لایه ای جهت تفکیک بخش های مختلف برنامه (بخش های منطقی برنامه مانند داده ها، مجوزها، کنترل صحت داده ها و لایه های مرتبط با کاربر نهایی) قرار می گیرد. الگوی معماری MVC برای مدت طولانی در مهندسی نرم افزار وجود داشته است. بیشتر زبانها از MVC با تغییرات جزئی استفاده می کنند اما مفاهیم یکسان است مانند جاوا، PHP و بسیاری پلت فرم های دیگر.

 

 اجزای تشکیل دهنده ی MVC

Model(مدل): قسمتی از برنامه کاربردی است که مسئول بازیابی داده از بانک اطلاعاتی، ذخیره آن، تبدیل آن به شی یا آبجکت ها و پیاده سازی منطق برنامه برای داده های دامنه ی مسئله است. 

view(نمایشگر): اجزایی از برنامه است که واسط کاربری برنامه (UI) را می سازد. معمولاً این UI از داده های مدل ساخته می شود. در واقع نقطه پایان برنامه کاربردی است . به کاربر نتایج عملیات و بازیابی و نمایش داده از طریق برقراری ارتباط با دو بخش دیگر؛ یعنی مدل و کنترلر را نشان می دهد.

Controller(کنترلر): اجزایی از برنامه هستند که مدیریت تعامل با کاربر را بر عهده دارند. می توان گفت که واسط بین مدل و نمایشگر می باشند؛ یعنی با مدل کار می کند و در انتها نمایشگری را برای نشان دادن واسط کاربری انتخاب می کند. ورودی کاربر را مدیریت کرده و به آنها پاسخ می دهد و با کاربر تعامل می کند.

الگوی MVC

الگوی MVC

 

مزایای برنامه های مبتنی بر MVC

  • با تقسیم یک برنامه به سه قسمت مدل، نمایشگر و کنترلر، مدیریت برنامه یا پروژه را ساده تر می کند.
  • از ViewState و فرم های سروری استفاده نمی کند و از این نظر برای برنامه نویسانی که تسلط کامل بر رفتار برنامه را می خواهند عالی است.
  • از الگوی کنترلر جلو استفاده می کند که درخواست های برنامه را توسط یک کنترلر پردازش می کند. این مسئله باعث می شود تا بتوانیم برنامه هایی را طراحی کنیم که از زیر ساخت های غنی مسیر یابی پشتیبانی می کند.
  • پشتیبانی بهتری از طراحی و توسعه آزمون محور دارد.
  • برای برنامه های پشتیبانی شده توسط تیم های بزرگ برنامه نویسان که کنترل بسیار بر رفتار برنامه را می خواهند، بهتر کار می کنند.
  • در MVC می‌توان اعتبار سنجی را تنها در حد یک خاصیت غیرفعال کرد. فیلتر مبارزه با حملات CSRF جزئی از فریم ورک MVC است. به همراه فیلتر Authorize آن که باز هم اعمال سفارشی سیستم اعتبار سنجی مبتنی بر فرم‌ها را ساده‌تر می‌کند با امکان یکپارچگی بهتر با Role providerهای سفارشی
  • همچنین  Razor به صورت پیش فرض امن طراحی شده است. خروجی Razor همواره و در بدو امر، html encoded است مگر اینکه برنامه نویس آگاهانه آن‌را تغییر دهد. این مورد مقاومت در برابر حملات XSS را بالا خواهد برد.
  • در ASP.NET MVC به صورت پیش فرض از سیستم Routing موجود در زیر ساخت ASP.NET برای نمایش Urlهایی بدون پسوند استفاده می‌شود. همچنین این سیستم امکان تهیه آدرس‌هایی با سازگاری بهتر با موتورهای جستجو را نیز از ابتدا مدنظر داشته است.
در مورد نویسنده : "من همیشه می توانم آزادانه انتخاب کنم، اما باید بدانم که اگر انتخاب نکنم، باز هم انتخابی کرده ام."

نظرات
0