|
|
Model-View-Controller
Опростена диаграма, изобразяваща взаимоотношенията между Model, View, и Controller
Модел-Изглед-Контролер (Model-View-Controller или MVC) е архитектурен шаблон за дизайн, използван за пръв път в Smalltalk.
- Модел - ядрото на приложението, предопределено от областта, за която се разработва; обикновено това са данните от реалния свят, които сме моделирали и над които искаме да работим - да въвеждаме, променяме, визуализираме и т.н.; Например в банково приложение това биха били класовете, описващи клиентите, техните сметки, транзакциите, които са осъществили и т.н., както и класовете за извършване на операции над тези обекти (engines) - например клас Transfer с методи като createInterBankTransfer(), createInnerBankTransfer(), getCash() и т.н.
- Изглед - визуализация на данните от модела; Например изгледът може да се състои от PHP шаблонни класове, JSP страници, ASP страници, JFrame наследници в Swing приложение. Зависи от това какъв графичен интерфейс се прави и каква платформа се използва;
- Контролер - допълнителен клас, които взима данните от модела или извиква допълнителни методи върху модела, предварително обработва данните, и чак след това ги дава на изгледа. Например може да бъде създаден един малък обект, в който да бъдат сложени данните за транзакцията - като в контролера бъдат взети данните за транзакцията от модела, бъдат приведени датите от UNIX формат във четим от потребителя формат, бъде преобразувана валутата от долари в евро например, бъде закръглено до втория знак вместо да се виждат данните както са в модела (и в базата) до 10тия. Също така когато се прави уеб графичен интерфейс това би довело до много лесна модификация на HTML кода дори от човек, който не е програмист - той ще гледа на шаблона просто като на обикновена HTML страница.
- Model-View-Controller Song
- книга: Ралф Джонсън, Ричард Хелм, Ерик Гама, Design Patterns (Шаблони за дизайн): Елементи на обектно-ориентирания софтуер за многократно използване, СофтПрес
|