a

ABLY مقالات و مطالب مجموعه

MVC چیست؟

MVC چیست؟

(MVC(Model View Controller همانطور که می بینید، MVC مخفف سه کلمه است. این تکنولوژی یک برنامه را به سه قسمت تقسیم می کند. به همین دلیل از آن بعنوان معماری سه لایه نام برده می شود.
what is mvc

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

(MVC(Model View Controller همانطور که می بینید، MVC مخفف سه کلمه است. این تکنولوژی یک برنامه را به سه قسمت تقسیم می کند. به همین دلیل از آن بعنوان معماری سه لایه نام برده می شود.
 
  • Model (مدل)
  • View (نمایشگر)
  • Controller (کنترلگر)
 
ASP.NET MVC بسیار سبک و تست پذیر است (همانند برنامه های مبتنی بر وب) و کاملاً با ویژگی های موجود در ASP.NET یکپارچه است.
MVC منطق برنامه را از رابط کاربری به طور کامل جدا می سازد. این معماری اغلب در برنامه های وب (Web Application) مورداستفاده قرار می گیرد.
 

الگوی طراحی MVC

mvc design

معماری سه لایه MVC

همانطور که گفتیم MVC از سه قسمت تشکیل شده است:
 

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

Model
  • قسمتی از برنامه کاربردی است که داده ها و منطق کسب و کار را تامین می کند. درواقع Model چیزی جز یک کلاس نیست.
View
  • View را میتوان نقطه پایان برنامه کاربردی دانست. یعنی در اصل، مسئولیت نمایش خروجی نهایی به کاربر را دارد.
Controller
  • کنترلگر همانطور که از اسمش مشخص است، هماهنگ کننده بین دو لایه قبل است. به عبارتی واسط بین  Model و View می باشد.
نکته قابل توجه اینکه اگر یک لایه را تغییر دهید لایه های دیگر به هیچ عنوان تغییری نخواهند کرد.
 

ویژگی های ASP.NET MVC

  • تقسیم برنامه به سه لایه و جداسازی وظایف، امکان تست کردن برنامه و طراحی و توسعه بهتر
  • استفاده از فریم ورک توسعه پذیر و قابل اتصال (به گونه ای که اجزای اصلی ASP.NET MVC را می توان به راحتی جایگزین یا سفارشی کرد)
  • استفاده از الگوهای نامگذاری قابل فهم برای موتورهای جستجو SEO
گفته می شود که ASP.NET MVC جایگزین ASP.NET است!
این تصور کاملاً اشتباه است. چون اگر ASP.NET وجود نداشت، هرگز ASP.NET MVC در بستر آن شکل نمی گرفت!
 

تفاوت  MVC و Web Form

در آخر، ما تفاوت این دو را با بیان مزایای هر کدام به شما معرفی خواهیم کرد.
 

مزایای MVC

  • تقسیم کردن برنامه به لایه های مختلف باعث سرعت و انعطاف بیشتر در توسعه، تست و نگهداری برنامه کاربردی می شود.
  • از  View State و Server-Based-Form (فرم های سرور) استفاده نمی کند. این باعث می شود MVC برای توسعه دهندگانی که می خواهند کنترل کامل روی یک برنامه داشته باشند، ایده ال باشد.
  • با استفاده از الگوی کنترلگر جلو می تواند درخواست های برنامه را توسط یک کنترلگر پردازش کند.
  • پشتیبانی بهتر از TDD(طراحی و توسعه آزمون محور) را فراهم می کند.
  • بیشتر توسط تیم های بزرگ برنامه نویسان مورداستفاده قرار می گیرد.

مزایای Web Form

  • استفاده از یک مدل رویداد برای حفظ وضعیت بر روی HTTP
  • استفاده از الگوی صفحه ی کنترلگر
  • استفاده از View State و فرم های سرور (این کار مدیریت اطلاعات را ساده تر می کند)
  • قابل استفاده برای تیم های کوچک برنامه نویسی
  • کد کمتری نسبت به MVC نیاز دارد و برای توسعه وب ساده تر است.
 

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :Phone Number
0713 625 1757 :Phone Number