الگوی MVC روشی در توسعه نرمافزار است که برای بهبود نگهداشت (Maintainability) سیستم قابل توصیه است. هدف MVC کاهش پیچیدگی طراحی الگوریتم و افزایش انعطافپذیری و نگهداشتپذیری Source Codeها است. همچنین از این Pattern برای ساده سازی طراحی در سیستمهای مستقل از پلتفرم و Self-Organize استفاده میشود. چرخه کاری در MVC به شرح زیر است:
![]() توصیف MVC با مثال سادهتر از به کار بردن ادبیات فنی سنگین (نظیر آنچه در بالا ذکر شد) میباشد. یک عکاس را به همراه دوربینش در استودیوی عکاسی در نظر بگیرید که مطابق خواسته مشتری قرار است از یک جعبه عکس بگیرد. جعبه در اینجا نقش Model را بازی میکند؛ عکاس Controller است و دوربین نقش View را ایفا خواهد کرد. به دلیل آنکه جعبه هیچ درکی از عکاس و دوربین ندارد کاملا مستقل خواهد بود. این استقلال کاری به عکاس اجازه میدهد تا بتواند مطابق خواست خودش دور تا دور جعبه چرخ بزند و از هر چشمانداز و زاویهای که خواست عکس تهیه نماید. معماریهای Non-MVC تمایل دارند اجزای کاری را به صورت یکپارچه در نظر بگیرند. اگر جعبه، عکاس و دوربین اشیاء کاری مشابهی باشند، به ازای هر بار گرفتن عکس مجبورهستیم این اشیاء در کنار همدیگر قرار داده و Re-Build نماییم. همچنین خود پدیده گرفتن عکس در مثال مذکور مانند نقاشی است که تلاش دارد از چهره خودش پرتره بکشد؛ و لزوماً چنین کاری همیشه ساده نیست. منابع: http://st-www.cs.illinois.edu/users/smarch/st-docs/mvc.html http://programmers.stackexchange.com/questions/127624/what-is-mvc-really |