Предимства на MVC Повечето уеб приложения, разработени на процедурни езици като ASP и PHP, имат първоначалния шаблон за разработка за програмиране на данни в хибриден слой. Например, изпращането на заявка директно към базата данни и показването ѝ в HTML обикновено е бързо, но тъй като разделянето на страниците с данни не е много директно, е трудно да се отрази външният вид на бизнес модела или многократната му използваемост. Гъвкавостта на продуктовия дизайн е много малка и е трудно да се отговори на променящите се нужди на потребителите. MVC изисква наслагване на приложенията, макар че изисква допълнителна работа, но структурата на продукта е ясна и приложението на продукта може по-добре да се отрази чрез модела. Първо и най-важно, трябва да има множество гледни точки, съответстващи на способността на модела. С бързите промени в нуждите на потребителите може да има няколко начина за достъп до вашето приложение. Например, моделът на поръчките може да съдържа поръчки от тази система, онлайн поръчки или поръчки от други системи, но обработката на поръчки е същата, което означава, че обработката на поръчките е същата. Според модела на MVC, моделът с един ред и множество изгледи могат да решат проблема. Това намалява копирането на код, т.е. намалява поддръжката на кода и е лесно за поддържане след промяна на модела. Второ, тъй като данните, връщани от моделите, нямат формат за показване, тези модели могат да се прилагат директно и при използването на интерфейси. Трето, тъй като приложението е разделено на три слоя, понякога промяната на един от слоевете удовлетворява промяната на приложението. Промяна в бизнес процеса или бизнес правилата на приложението изисква само промяна в слоя модел на MVC. Концепцията за контролния слой също е валидна, защото комбинира различни модели и различни изгледи за изпълнение на различни заявки, така че контролният слой може да се каже, че съдържа концепцията за разрешения за потребителски заявки. Накрая, той също улеснява управлението на софтуерното инженерство. Тъй като различните слоеве изпълняват своите собствени функции, всеки слой с различни приложения има някои от същите характеристики, което благоприятно за генерирането на хипервизьорен код чрез инженеринг и инструменти. Недостатъците на MVC Недостатъците на MVC се отразяват в следните аспекти: (1) увеличава сложността на структурата и реализацията на системата. За прости интерфейси, стриктното следване на MVC за отделяне на модели, изгледи и контролери ще увеличи сложността на структурата и може да доведе до твърде много операции за обновяване, намалявайки оперативната ефективност. (2) Изгледът и контролерът са твърде стегнати връзки. Изгледите и контролерите са отделни, но тясно свързани части, а използването на изгледи без контролери е ограничено, и обратно, което предотвратява тяхната независима повторна употреба. (3) да гледат неефективен достъп до моделни данни. В зависимост от интерфейса на модела, изгледът може да се наложи да се извиква няколко пъти, за да се получат достатъчно данни за показване. Ненужно честият достъп до непроменени данни също може да навреди на оперативната производителност. (4В момента архитектурата на MVC не се поддържа от усъвършенствани интерфейсни инструменти или конструктори. Разходите за адаптиране на тези инструменти според нуждите на MVC и за установяване на отделни части са високи, което затруднява използването на MVC.
|