MVC چیست؟

MVC چیست؟

MVC یک روش مدرن و به روز برای معماری نرم افزار است. طراحان نرم افزار هنگام معماری سیستم‌های نرم افزاری الگوهای مختلفی را برای پیاده سازی ساختار نرم افزار در پیش می‌گیرند. یکی از این الگوهای معماری نرم افزار MVC یا Model View Controller نام دارد.

MVC نرم افزار را به سه قسمت Model و View و Controller تقسیم می‌کند. که هر کدام از این سه قسمت وظیفه خاصی را در چرخه حیات نرم افزار بازی می‌کنند.

  • Model
    مفاهیم استفاده شده در نرم افزار تحت عنوان Model‌ها ایجاد می‌شوند. در MVC هریک از Class‌های ما یک Model هستند. Model در Logic برنامه هیچ نقشی ندارد. ارتباط با پایگاه داده هم در Model صورت می‌گیرد و Model‌ها پل ارتباطی بین نرم افزار و پایگاه داده نیز هستند.

 

  • View
    View رابط کاربری نرم افزار است و می‌توان گفت فرم‌های نرم افزار و تمام چیزهایی که کاربر با آنها در ارتباط است تحت عنوان View در نرم افزار قرار می‌گیرد. View نیز هیچ نقشی در Logic نرم افزار ندارد و تنها پل ارتباطی بین کاربر و سایر بخش‌های نرم افزار است. تاکید می‌کنم که View هیچ تصمیم گیری انجام نمی‌دهد و فقط نمای بیرونی نرم افزار است.

 

  • Controller
    Controller‌ها قلب تپنده نرم افزارهای MVC هستند. تمام تصمیم گیری‌ها و Logic نرم افزار در Controller قرار می‌گیرد و Controller پل ارتباطی Model و View است. در واقع با بیانی ساده می‌توان گفت Controller تصمیم می‌گیرد که چه داده ای از کدام Model دریافت شود و جهت نمایش به کدام View ارسال شود.

 

حالا این سوال به وجود می‌آید که چرا چنین ساختاری می‌تواند خوب باشد. چه کمکی به تیم طراحی و توسعه نرم افزار می‌کند؟

در پاسخ به این سوال می‌توان به چند دلیل زیر اشاره کرد:

  1. MVC توسعه نرم افزار را تبدیل به گلابی یا هولو می‌کند.
  2. MVC پروسه Unit testing را بسیار راحت می‌کند.
  3. MVC کار گروهی همزمان را برای تیم طراح و برنامه نویس آسان می‌کند.
  4. MVC با جدا سازی Logic از View و قرار دادن آن در Controller خوانایی کدها را بسیار بالا می‌برد.
  5. و مهم‌تر از همه اینکه MVC به شکل شگفت انگیزی حجم کد نویسی را کاهش می‌دهد.

MVC در هر زبان برنامه نویسی قابل پیاده سازیست. حتی در جاوا اسکریپت. اما در حال حاضر از این روش بیشتر برای زبان‌های سمت سرور مثل PHP و ASP.Net استفاده می‌شود و در کل MVC یک روش بسیار کارا برای تیم‌های بزرگ‌تر است. هرچه تیم بزرگتری داشته باشید مزایای این الگو برای شما بیشتر ملموس خواهد بود. همچنین به تجربه می‌گویم MVC برای پیاده سازی پروژه‌های کوچک توصیه نمیشود و من استفاده از این روش در پروژه‌های کوچک را به استفاده از پتک برای کشتن پشه تشبیه می‌کنم.

 

منبع م.داداشی

  • تاریخ و ساعت انتشار :
    19:33       1395/11/12
  • تعداد بازدید :
    187
  • نویسنده :
    رضا ابوالحسنی
  • پسندیده :

کلمات کلیدی

Model–view–controller

معماری MVC



خمیر بازی (Doh Play)

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