Тема: Хорошее MVC
Показать сообщение отдельно
Старый 21.09.2010, 22:59
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 139  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Цитата:
Document Class создает главный контроллер и передает ему ссылку на себя же в качестве контейнера, этот контроллер создает модель, затем создает вид, передавая ему модель, и добавляет в контейнер. Главная триада up and running.
Всё верно.
Цитата:
Теперь нужно добавить триаду, которая будет отвечать за курилку. Как это должно произойти? Как она должна быть связана с главной триадой?
Контроллер главный создаёт контроллер курилки. Он создаёт модель и вьюшку. Или главный контроллер создаёт всё трио - это не важно. Главное чтобы они все создались.

Главная модель имеет в себе ссылку на дочернюю модель (модель курилки). В главной вьюшке вложена вьюшка курилки. Контроллер главный, само собой, имеет ссылку на то что он сам создал - контроллер курилки. Когда из курилки выходят - курилка контроллер меняет курилку модель. Курилка модель в свою очередь сообщает об этом главной моделе (событием), главная модель от этого меняется. Главный контроллер, узнав о том что главная модель изменилась и говорит ему, что из курилки вышли - убивает курилку.