جزئیات بلاگ

MVC (بخوانید اِم وی سی) که مخفف Model View Controller است، در واقع یک نوع از انواع معماری های برنامه نویسی برای طراحی نرم افزار به زبان های مختلف برنامه نویسی می باشد.
22 مرداد

MVC چیست و چرا از آن استفاده می کنیم ؟

MVC (بخوانید اِم وی سی) که مخفف Model View Controller است، در واقع یک نوع از انواع معماری های برنامه نویسی برای طراحی نرم افزار به زبان های مختلف برنامه نویسی می باشد. این معماری از سه بخش اصلی تشکیل شده است. در صورتی که میخواهید در مورد اینکه چرا به یک وب سایت نیاز دارید، مقاله مرتبط با آن را بخوانید.
همانطور که از نامش پیداست میتوان سه بخش اصلی تشکیل دهنده این معماری را تشخیص داد. بخش اول نام یعنی Model برای مدل سازی و ارتباط با پایگاه داده، بخش دوم View برای نمایش رابط کاربری نرم افزار و خروجی نهایی به کاربر و در نهایت بخش سوم یعنی Controller برای دریافت درخواست های ارسالی کاربر (که در نرم افزار های تحت وب از طریق پرتکل http می باشد) و ارسال اطلاعات دریافت شده از پایگاه داده به رابط کاربری نرم افزار می باشد.
تصور اشتباهی که برای افراد مبتدی وجود دارد این است که گمان می کنند MVC یک زبان برنامه نویسی است اما در واقع اینطور نیست. MVC یک معماری برای نوشتن کد می باشد که میتوان از آن در اکثر زبان های محبوب برنامه نویسی از جمله asp.net و php استفاده نمود.

تاریخچه MVC

مفهوم MVC برای اولین بار در دهه 70 میلادی، در مرکز تحقیقاتی پالو التو معرفی شد و نهایتا در سال 1988 در جورنال آبجکت تکنولوژی MVC به عنوان یک مفهوم کلی معرفی شد. در ده های اخیر استفاده فراوانی از این معماری برای طراحی نرم افزار های گوناگون شده است.
در تاریخ 10 دسامبر سال 2007، شرکت مایکروسافت نسخه CTP یا Community Technology Preview را عرضه کرد که پس از آزمایش و توسعه آن نسخه اول آن با نام ASP.NET MVC 1.0 را در تاریخ 13 مارس 2009 به صورت عمومی عرضه نمود. این عرضه تا نسخه ASP.NET MVC 5.2.7 ادامه داشت که در تاریخ 29 نوامبر 2018 عرضه شد. تمامی این نسخه ها بر پایه .net framework توسعه یافتند. در سال 2016 مایکروسافت با عرضه .net core توانست تکنولوژی خود را به صورت open source یا متن باز به دنیا ارائه دهد. مشخصا معماری MVC در تکنولوژی جدید مایکروسافت با نام ASP.NET Core MVC  به حیات خود ادامه می دهد و تا کنون (زمان نوشتن این مطلب) نسخه ASP.NET Core MVC 3.1.1 به صورت عمومی عرضه شده است.

شیوه عملکرد MVC

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

 

شیوه عملکرد asp.net mvc
 

برای درک بهتر عملکرد این معماری از مثال ذیل استفاده خواهیم کرد. اگر یک برنامه تحت وب که با این معماری نوشته شده است را در نظر بگیریم (وب سایت پارس ام وی سی نیز با همین معماری کد نویسی شده است) شیوه کار به زبان ساده به این صورت است:

  • کاربر آدرس پیوند برنامه را در مرورگر وارد می کند. در این زمان یک درخواست http به برنامه مورد نظر ارسال می شود.
  • مسیر دهی برنامه درخواست کاربر را به متد مورد نظر در Controller برنامه ارسال می کند.
  • کنترلر درخواست را با توجه به پارامتر های دریافت شده از کاربر بررسی می نماید. سپس برای دریافت اطلاعات مورد نیاز کاربر درخواست دریافت اطلاعات را توسط یک کوئری از پایگاه داده دریافت می کند و آن را به شکل و شمایل مورد نیاز که در Model برنامه وجود دارد تبدیل می کند.
  • پس از آن اطلاعات از نوع مدل مورد نیاز توسط کنترلر به View ارسال می شود.
  • View با دریافت اطلاعات از نوع مدل ست شده برای آن در بین کد های فایل نمای برنامه (که در برنامه های تحت وب به صورت HTML می باشد) رندر می کند و سپس در مرورگر کاربر به نمایش در می آید.

برای درک بهتر میتوانید این تصویر زیر را مشاهده کنید:

 

mvc به شکل ساده
 

در تصویر بالا فرایندی که برای شما توضیح دادیم به صورت خلاصه بیان شده است. در نظر داشته باشید توضیحات نیز برای درک ساده تر به صورت خلاصه تری بیان شده است و در عمل گسترده تر است.

نتیجه گیری

در پایان احتمالا برای شما این سوال پیش آمده که استفاده از این معماری چه تاثیری در خروجی نهایی دارد؟ در پاسخ باید بگوئیم در خروجی نهایی برای کاربر تفاوتی ندارد. معماری نرم افزار قابل مشاهده توسط کاربر نهایی نیست. معماری MVC روند توسعه نرم افزار را بسیار اصولی تر پیش خواهد برد. زیرا لایه های مختلف برنامه را از یکدیگر جدا کرده است. و در آینده برای انجام تغییرات جزئی و کلی و یا حتی اضافه کردن یک ویژگی جدید به برنامه کار بسیار آسان تر و سریع تر از حالتی است که از معماری MVC در آن برنامه استفاده نشده باشد.

 


نوشته شده توسط: حسین بابائی

اشتراک گذاری
در صورتی که نیاز به لینک کوتاه این مطلب دارید می توانید ورودی متن زیر دریافت نمائید.

ارسال دیدگاه

توجه

برای ارسال دیدگاهتان، باید در سایت عـضو باشید.

اگر قبلا در سایت عضو شده اید، میتوانید از ایـنجا وارد شوید.

متأسفانه شما کاربر سایت نیستید.

برای رأی دادن شما باید در سایت عضویت داشته باشید. اگر قبلا این کار را انجام داده اید، میتوانید دکمه ورود را کلیک کنید

اگر قبلا ثبت نام کرده اید برای ورود به پنل کاربری خود روی دکمه زیر کلیک کنید

ورود

برای استفاده رایگان از امکانات پنل کاربری با کلیک بر روی دکمه زیر عضو شوید

عضویت