
06.04.2010, 09:47
|
|
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
|
Во всех реализациях MVC меня всегда смущали глобальности контроллера и модели. Если рассматривать модульную архитектуру приложения, то как мне кажется можно ввести понятие составной вью - который сам по себе может быть организован в виде mvc. Контроллер в таком вью является мостом между внутренними видами и внешним контроллером. Модель может быть как внутренняя так и ссылка на часть структуры внешней.
структура получается следующая:
M1 - C1 - V1(m2-v2-c2) а не M1(M2)- C1(C2)-V1(V2)
пример1:
Если рассматривать с точки зрения клиент - сервер, то клиент это тоже вид, который диспатчит интерактивные события и слушает изменения данных, либо прямые команды от сервера ( который в данном случае выполняет ф-ции контроллера и модели данных верхнего уровня)
пример 2:
готовая форма лобби вступления в игры. в качестве данных принимает список открытых игр - диспатчит событие присоединения к игре. как это внутри отображается не важно - там может быть куча отдельных окошек, списков комбобоксов итп, организованных по своим mvc правилам. Здесь контроллер выступате в роли слушателя внешней модели и меняет внутреннюю, также он слушает внутренние вьюшки - меняет внутреннюю модель и диспатчит внешние видовые события ( типа вступить в игру/ создать игру).
Для включения этого модуля(вида) в другую внешнюю MVC достаточно изменить "мостовую" часть контроллера. внтренняя структура остаётся неизменной.
А вообще я последнее время сильно охладел к MVC - как к универсальному решению) выхожу из стадии abstraction freek)
Хотя архитектуры проектов строю близко к МВЦ, но с учётом большей автономности модулей.
PS: А готовые фрэймворки - *****) более менее только mate использую, и то в силу его "необязательности".
Последний раз редактировалось Котяра; 06.04.2010 в 10:03.
|