20 апреля 2011 г.

Pattern MVC

Впервые паттерн MVC появился на языке SmallTalk в конце 70-х гг. Собственно задача было в том, чтобы разграничить представление и бизнесс-логику (модель), дать возможность иметь несколько View для одной модели. На сей день существует несколько вариаций этого паттерна. Рассмотрим один из них. Паттерн включает в себя 3 компонента:
  1. Model (модель);
  2. Controller (контроллер);
  3. View (представление).
Модель содержит функциональную логику приложения (Business Layer). Основная идея паттерна состоит в том, чтобы сделать  модель независимой от других частей.
Основной задачей контроллера является реакция на "изменение" в представлении. Затем она дёргает модель для последующего её изменения. Контроллер не занимается передачей данных из модели в представление.
Представление занимается отображением данных. Оно бывает 2-ух видов:
  1. Passive View (пассивное представление);
  2. Active View (активное представление).
Пассивное представление дергают и дают команды на перерисовку (исходя из рисунка это происходит по схеме 2-1). Активное представление резко отличается от пассивного. Оно обращается (по стрелке 2, минуя 1-ую) к модели и просит данные для перерисовки. Т.е. мало того, что представление дергает модель, так оно ещё само решает что, когда и как рисовать. Но во всех случаях представление имеет доступ к данным только для чтения. Никого изменения, добавления, удаления данных она делать не должна.

Не волнуйтесь, если что-то не работает. Если бы всё работало, вас бы уволили (Mosher’s Law of Software Engineering).

Комментариев нет:

Отправить комментарий