|  
صفحه اصلی > فهرست مقالات > آشنایی با الگوی مدل - نما - کنترل گر (MVC)
مقالات وب، شبکه
 

آشنایی با الگوی مدل - نما - کنترل گر (MVC)

MVC

در مهندسی نرم‌افزار، مدل-نما-کنترل‌گر یا MVC (Model–view–controller - MVC) به یک الگوی معماری نرم‌افزار اطلاق می‌شود.
الگوی معماری MVC به جداسازی داده‌های کاربرد (از جملهٔ محتویات بخش مدل) از مؤلفه‌های ارائه شده به‌صورت گرافیکی (بخش نما) و منطق مربوط به پردازش ورودی‌ها (بخش کنترل‌گر) اقدام می‌نماید.
هدف الگوی معماری MVC صرفا یکپارچگی در معماری نرم‌افزار است و به کمک آن بدست گیری نرم‌افزار در راستای مدیریت و توسعه به سهولت انجام می‌گیرد.

تاریخچه
MVC نخستین بار در اواخر سال 1970 توسط Trygve Reenskaug در XEROX PARC به عنوان بخشی از سیستم Smalltalk معرفی شد. پیاده سازی اصلی به طور دقیق در مقاله «برنامه نویسی کاربردی در Smalltalk-80: نحوه استفاده از مدل-نما-کنترل گر» توصیف شد.

نمودار مدل - نما - کنترل گر
نگاه کلی
گرچه MVC انواع مختلفی دارد، کنترل جریان عموما به صورت زیر است:
  1. کاربر به نوعی با واسط کاربری در تعامل است (برای مثال با فشردن دکمه ماوس).
  2. کنترل گر رویداد وارده از واسط کاربری را معمولا از طریق یک کنترل گر رویداد ثبت شده و یا callback کنترل می کند و رویداد را به یک عمل مناسب کاربری قابل فهم برای مدل تبدیل می کند.
  3. کنترل گر، مدل عمل کاربری را اعلام می کند که احتمال دارد منجر به تغییری در وضعیت مدل شود. (برای مثال کنترل گر، سبد خرید کاربر را به روز می رساند).
  4. یک نما، از مدل به منظور تولید یک واسط کاربری مناسب پرس و جو می کند. نما داده خودش را از مدل می گیرد. در برخی پیاده سازی ها کنترل گر ممکن است دستورالعملی عمومی به نما بدهد تا خودش را بارگذاری کند. در سایر پیاده سازی ها نما به طور خودکار توسط مدل از تغییرات در ناظر وضعیت مطلع می شود که نیازمند به روز رسانی صفحه است.
  5. واسط کاربری منتظر تعاملات کاربری بیشتری می ماند که چرخه کنترل جریان را از نو آغاز می کند.

بعضی از پیاده سازی ها مانند فرم های کنسرسیوم وب جهان‌شمول از مفهوم نمودار وابستگی نیز برای خودکار کردن نماها زمان تغییر مدل استفاده می کنند.
هدف MVC -با جداسازی مدل و نما- کاهش پیچیدگی طراحی الگوریتم و افزایش انعطاف پذیری و نگهداشت پذیری کد مبدأ است. همچنین MVC برای ساده سازی طراحی سیستم های خودمختار و خودمدیریتی استفاده می شود.


منبع: http://fa.wikipedia.org
 
 
ارسال به دوستافزایش اندازه فونتکاهش اندازه فونت