![]() |
MVC - как правильно сделать сигнал о загрузке XML?
Здравствуйте. Хочу сделать все не как всегда, а правильно. Итак, есть контроллер
Код AS1/AS2:
и есть XMLLoader, он же парсер, из него пойдут данные в Модель : Код AS1/AS2:
Помогите пожалуйста с dispatchEvent в XMLLoader и addEventListener в контроллере. P.S: 1. Я знаю, что можно сделать проще и хитрее, но хочется сделать "по правилам". 2. Материалы по MVC на форуме читал, но не смог приспособить(угадал все буквы, но слово сложить не смог) |
1) контроллер наследуется от EventDispatcher
2) Контроллер создает себе View и Model (Model У Вас вообще не заметил) 3) Контроллер грузит данные (т.е. выполняет функции Вашего XMLLoader'а) и по окончании загрузки пихает их в Model 4) Model диспатчит евент при изменении данных (т.е. у нее срабатывает сеттер, в котором диспатчится событие) 5) View подписывается на события Model и обновляет себя когда нужно PS - у Veiw доступ к Model есть только на чтение - у Controller доступ к Model и на запись, и на чтение - у View есть ссылка на Model - у Controller есть ссылки и геттеры для Model и View (так как он их создает) - у Model нет ссылок ни на кого и она наследуется от EventDispatcher |
XMLLOader - часть контроллера. после того какон загрузит xml пусть "парсит" её. Т.е. изменяет данные модели исходя их xml данных. Если виды подписаны на изменение модели - они всё отобразят.
|
Спасибо за ответ,
Цитата:
Цитата:
|
Цитата:
Ну, насчет кода - как-то так: Код AS3:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
|
Это шикарно. Все работает, как часы. Вопрос вдогонку, у меня на View лежат еще несколько классов - мувиклипов. Правильно ли я понял, в каждом из них я могу так же прописать :
Код AS1/AS2:
|
Ну, по идее, если модель одна для всех View можно
а) обновлять эти View из родительской View б) передавать в каждую View эту самую модель, и пусть они сами перерисовываются, как им угодно |
Большое Вам спасибо.
|
Цитата:
Цитата:
Цитата:
P.S. начал писать super таки? =) Крутой.) |
Цитата:
|
| Часовой пояс GMT +4, время: 21:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.