Posted on نوشتن کامنت

MVC چیست؟

MVC

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

اجزای MVC

در تصویر زیر اجزای MVC را می بینید:

اجزای MVC
اجزای MVC

مدل

جزء مدل درباره منطق مربوط به داده ها است که کاربر با آن کار می کند که می تواند داده هایی را که بین اجزای نما و کنترل کنندهی ا سایر داده های مربوط به منطق برنامه منتقل می شود، نشان دهد. به عنوان مثال، یک شیء مشتری، اطلاعات مشتری را از پایگاه داده بازیابی می کند، آن را دستکاری می کند و داده ها را به پایگاه داده بازمی گرداند یا از آن برای رندر داده استفاده می کند.

نما

جزء نما برای تمام منطق رابط کاربری برنامه کاربردی استفاده می شود. برای مثال، نمای مشتری شامل تمام اجزای رابط کاربری مانند جعبه متن، کشویی و غیره است که کاربر نهایی با آن تعامل دارد.

کنترل کننده

کنترل کننده ها به عنوان رابط بین مدل و نما عمل می کنند تا تمامی منطق برنامه و درخواست های ورودی را پردازش کنند، داده ها را با استفاده از مدل دستکاری کنند و با نماها در ارتباط با خروجی نهایی کار کنند. برای مثال، کنترل کننده مشتری تمام تعاملات و ورودی ها را از مشتری مشاهده و پایگاه داده را با استفاده از مدل مشتری به روز می کند. همان کنترل کننده برای مشاهده داده های مشتری استفاده می شود.

ASP.NET MVC

ASP.NET از سه مدل توسعه عمده پشتیبانی می کند: صفحات وب ، فرم های وب و MVC. فریمورک ASP.NET MVC سبک و بسیار تست پذیر است که با ویژگی های ASP.NET موجود مانند صفحات اصلی، احراز هویت و غیره در یکپارچه شده است. در دات نت، این چارچوب در سیستم Assembly.Web.Mvc تعریف شده است. ما از ویژوال استودیو برای ایجاد برنامه های ASP.NET MVC استفاده می کنیم که می تواند به عنوان یک الگو در ویژوال استودیو اضافه شود.

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

  • ایده آل برای توسعه برنامه های پیچیده اما سبک وزن.
  • چارچوب قابل گسترش و قابل برنامه ریزی را فراهم می کند که می تواند به آسانی جایگزین و سفارشی شود. به عنوان مثال، اگر شما مایل به استفاده از Razor ساخته شده یا ASPX View Engine نیستید، می توانید از هر موتور دیگر نمایشی شخص ثالث استفاده کنید یا حتی آنهایی که موجود هستند را سفارشی کنید.
  • با استفاده از طراحی مبتنی بر کامپوننت نرم افزار با استفاده از منطق تقسیم آن به اجزای مدل، نما و کنترل کننده، استفاده می شود. این باعث می شود توسعه دهندگان برای مدیریت پیچیدگی پروژه های بزرگ و کار بر روی اجزای جداگانه امکانات وسیعی داشته باشند.
  • معماری MVC توسعه تست و تست پذیری برنامه را بهبود می بخشد، از آنجا که تمام اجزای آن می توانند با استفاده از اشیاء مبتنی بر رابط طراحی شده و آزمایش شوند. از این رو، ASP.NET MVC چارچوب ایده آل برای پروژه های با تیم بزرگی از توسعه دهندگان وب است.
  • پشتیبانی از تمام ویژگی های موجود ASP.NET گسترده مانند Authorization و Authentication، صفحات Master، اتصال داده، کنترل های کاربر، عضویت، مسیریابی ASP.NET، و غیره.
  • از مفهوم View State (که در ASP.NET موجود است) استفاده نمی شود. این کمک می کند تا در ساخت برنامه های کاربردی، که سبک وزن هستند به توسعه دهندگان کنترل کامل بدهد.

بنابراین شما می توانید فریمورک MVC را به عنوان یک چارچوب اصلی ساخته شده در بالای ASP.NET در نظر بگیرید که مجموعه وسیعی از قابلیت های اضافه شده را با تمرکز بر توسعه و آزمایش مبتنی بر کامپوننت ها ارایه می دهد.

برای اطلاعات بیشتر درباره تفاوت front-end و back-end به اینجا رجوع کنید.

منبع

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *