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

MVC بیشتر یک الگوی معماری است ، اما برای کاربرد کامل آن نیست. MVC بیشتر به UI / لایه تعامل یک برنامه مربوط می شود. شما هنوز به لایه منطق کسب و کار احتیاج دارید ، شاید هم به برخی از لایه های سرویس و لایه دسترسی به داده ها.

UML Diagram MVC Design Pattern

 

اجزای طراحی

مدل فقط حاوی داده های برنامه خالص است ، هیچ منطقی در مورد نحوه ارائه داده ها به کاربر توصیف نمی کند.
View داده های مدل را به کاربر ارائه می دهد. نمای نحوه دسترسی به داده های مدل را می داند ، اما نمی داند این داده ها به چه معناست یا کاربر می تواند برای دستکاری آن چه کار کند.
Controller بین view و مدل وجود دارد. به وقایع ایجاد شده توسط view (یا منبع خارجی دیگر) گوش می دهد و واکنش مناسب را نسبت به این رویدادها انجام می دهد. در بیشتر موارد ، واکنش این است که متدی را روی مدل فراخوانی کنیم. از آنجا که view و مدل از طریق یک مکانیسم اطلاع رسانی به هم متصل می شوند ، نتیجه این عمل به طور خودکار در view ی منعکس می شود.

 

مزایا

توسعه دهندگان متعدد می توانند به طور همزمان بر روی مدل ، کنترلر و نماها کار کنند.
MVC گروه بندی منطقی اقدامات مرتبط با یک کنترلر را با هم امکان پذیر می کند. نماهای مربوط به یک مدل خاص نیز با هم گروه بندی شده اند.
مدلها می توانند چندین نمای داشته باشند.

 

معایب

رابط کاربری فریم ورک می تواند پیچیده باشد زیرا لایه های جدیدی از انتزاع را معرفی می کند و کاربران را ملزم می کند تا با معیارهای تجزیه MVC سازگار شوند.
آگاهی از فناوری های متعدد به یک هنجار تبدیل می شود. توسعه دهندگان با استفاده از MVC باید در فن آوری های متعدد مهارت داشته باشند.

لطفاً اگر چیزی را نادرست می بینید یا می خواهید اطلاعات بیشتری در مورد موضوع مورد بحث در بالا به اشتراک بگذارید ، نظرات خود را بنویسید.