![]() |
|
Модераторы: SoWa |
![]()
|
|
| AntonioBanderaz |
|
||||||||||||||||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 18 |
При проектировании приложений, а на Flash это RIA, часто возникает необходимость сообщить многим объектам какую либо информацию, сообщение. Для
этого правильно испьзовать паттерн проектирования Observer. Паттерн проектирования Observer описывает отношение между объектами типа N к 1, и при изменении состояния одного происходит автоматическое уведомление и обновление всех зависящих от него объектов. Что нужно для базовой реализации паттерна. 1. Интерфейс Observer, имплементируют все слушатели 2. Класс сообщения, объекты которого получают все слушатели. 3. Класс Observable, класс регистрирующий слушателей и рассылающий сообщения. Интерфейс Observer Observer.as
Класс сообщения ObserverMessage ObserverMessage.as
Класс Observable Observable.as
Вспомогательный класс DuplicateObserverException DuplicateObserverException.as
Собственно все, теперь надо идти к конкретной реализации этого паттерна, расширят класс Observable, имплементировать Observer, расширять ObserverMessage. Я привёл только базовую реализацию. Теперь более сложный паттерн, так называемый mvc (Model-View-Controller). Иделогия mvc разделить обратную связь с пользователем, или неким интерфейсом разделены явно и обрабатываются тремя разными типами объектов. MVC состоит модели(Model) представления(View) и контроллера(Controller) 1. Модель - Хранит данные и логику интерфейса 2. Представление - генерирует правльное визульное представление интерфейса. 3. Контроллер - отвечает за вводимые данные, изменяя модель. Не буду расписывать что-что делает думаю будет понятно, времени нет вообще, просто выложу классы. Controller.as
View.as
AbstractController.as
AbstractView.as
Некое заключение. С помощью этих двух паттернов можно делать одинаковые вещи, но надо понимать что и для чего применимо в конкретной ситтуации. Паттерн MVC применяется в более сложных и больших проектах, в то время как Observer применяется для решения более простых задач... -------------------- ГЫ... |
||||||||||||||||
|
|||||||||||||||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 10 Всего: 50 |
||||
|
||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 18 |
Лажанул... Теперь более сложный паттерн, так называемый mvc (Model-View-Controller). Иделогия mvc разделить обратную связь с пользователем, или неким интерфейсом. Они разделены явно и обрабатываются тремя разными типами объектов: модели(Model), представления(View) и контроллера(Controller). Так наверно будет понятней. -------------------- ГЫ... |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 10 Всего: 50 |
про Observer - а чем не устраивает EventDispatcher? =)
|
|||
|
||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 18 |
Да всем устраивает, просто Observer проще. Там ошибочки в классах Observer были. Подправил. Присоединённый файл ( Кол-во скачиваний: 1 )
observer.rar 1,25 Kb-------------------- ГЫ... |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 10 Всего: 50 |
так. терь про mvc -
тут сильно кастрированый вариант |
|||
|
||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 18 |
Всмысле кастрированый, что тебе тут не хватает? -------------------- ГЫ... |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 10 Всего: 50 |
общение между m v и с. action-ы. Посмотри тот же struts
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | ActionScript 3 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |