![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
strange mood
|
Есть Document Class, в котором размещён код прелоадера. После загрузки создаётся класс Main, в конструкторе которого инициализируются модель, вью и контроллер. Контроллеру говорим грузить данные. Он говорит модели перейти в состояние "загрузка данных" и начинает грузить данные. Вью, получив от модели событие изменения состояния, показывает что грузятся данные.
Данные загрузились. Говорим модели перейти в основное состояние, она говорит об этом вью. А вот дальше... Сайт имеет несколько модулей: для показа текста, для показа фоток итд. Каждый модуль так же грузит данные для своих нужд. В общем появляется понятие модуля. Контроллер получает событие о переходе в основное состояние и в ответ на это говорит модели, какой модуль надо показывать. Модель в ответ на это посылает событие о том, что изменился активный модуль. Итак, ситуация: всё загрузилось, в контроллер пришло событие что нужно показывать такой-то модуль. Что делать дальше? Где должны располагаться модель, вью и контроллер модуля? Должны ли они быть обособлены, или каждая часть должна быть создана как дочерний объект глобальных M, V и С? Как передать им управление? Как организовать общение с главной связкой?
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Создавайте отдельные MVC-структуры друг в друге, в соответствии с моделью display object на экране.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Модель в модели, вьювер во вьювере. Контроллерам же обычно достаточно управлять на уровне корневых элементов.
|
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
__etc, а можно ли делать дочернее MVC полностью внутри вьювера?
Вот, например, у меня есть какой-нибудь хитрый контроллер-компонента, сделанный по принципу MVC, и я им хочу заменить стандартную кнопку. Он работает и без родительской модели автономно в принципе. Зачем его внутреннюю модель выносить наружу? Последний раз редактировалось s8000_1; 08.11.2008 в 22:46. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
s8000_1, я не понял вопроса. Ни того, ни другого. Модель во вьювере не хранится, это первое. Внутреннюю модель тоже никто никуда не выносит, более того, не мешают модели, контроллеры и представления в одну кучу.
|
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
__etc, разверну...
Есть визуальная AS3-компонента (типа DataGrid и т. п.) с понятным и логичным внешним интерфейсом. Но взаимодействие составных частей внутри компоненты устроено по принципу MVC: своя модель, свой внутренний контроллер и свое представление. Я хочу эту компоненту прилепить к большому приложению (его представлению). Получится, что MVC-компонента находится внутри представления другого MVC-большого приложения. Это разве не правильно? |
|
|||||
|
стервочка (я мужик)
|
s8000_1, ваще, если быть честным с общественностью, то DataGrid это чистый вьювер. ведь данные вы ему отдельно кормите? конечно всё зависит от реализации, но по идеологии он должен быть вьювером.
|
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
BlooDHounD, так я как пример привел. Можно ведь соорудить гораздо более сложный компонент, для которого удобнее использовать внутри MVC (10 DataGrid'ов, 20 кнопочек и все это хитрым способом взаимодействует).
Поэтому я не совсем понимаю что значит "модель в модели". |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|