PDA

Просмотр полной версии : Выбор шаблона проектирования


: hr :
03.09.2007, 19:17
Друзья, помогите пожалуйста с проектированием архитектуры проекта.
Есть приложение, по сути пользовательский интерфейс, представляющий данные с сервера, позволяющий пользователю редактировать их и возвращающий обратно. Более конкретно - набор различных визуальных элементов (кружочек с возможностью регулировки радиуса, панель из нескольких кнопок, специальный ползунок) значительно отличающихся по функциональности между собой и обслуживаемых конкретными серверными данными (разными). При этом все эти объекты по логике связаны между собой (например: при изменении радиуса кружочка панель из кнопок должна менять цвет, при нажатии кнопки ползунок должен исчезать и т.п.), а также завязаны с некой общей логикой приходящей от сервера в виде данных (этот объект включить, этот выключить и т.п.). Сами объекты реализованы по MVC и отлично работают.
Вопрос - как грамотно организовать взаимодействие всего этого многообразия? Может быть подскажите в область какого паттерна смотреть?
Еще раз повторю - сами по себе все объекты "внутри" реализованы, выполняют совершенно различную функциональность и должны взаимодействовать друг с другом и управляться неким центром, связанным с данными от сервера. Класс работы с сервером есть.

KidsKilla
03.09.2007, 19:59
ну во-первых было бы логично все объекты реализовать от одного и того же интерфейса, а там уже выделив общие элементы управляться.
+ Абстрактная фабрика (http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%B0%D1%8F_%D1%84%D0%B0%D0%B1%D1%80%D0%B8%D0%BA%D0%B0_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D 0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F))

undefined
05.09.2007, 02:15
а есть ли возможность вносить изменения в реализацию компонентов?
если есть, могу поделиться личным опытом:
я недавно писал интерактивные лабы на флэше для института, там тоже были взаимодействующие элементы интерфейса. Урок который я вынес заключался в следующем: если есть более-менее запутаная система компонетнов, наилучший способ описания их взаимодействия - очереди сообщений, я не знаю как называется соответствующий шаблон, но он полюбому существует. Суть заключается в том, что каждый элемент взаимодействует с остальными посредством передачи сообщений, скажем через AsBroadcaster, при этом элементы реагируют на сообщения следующим образом - каждое, вновь постпившее сообщение, помещяется в стек - очередь, элемент начинает обрабатывать сообщения из очереди последовательно, при этом он может рассылать сообщения другим элементам, мол что я такой-то такой-то только что обработал такое-то сообщение. Эти сообщения помещаются в очереди других элементов, которые также последовательно на них реагируют. Ну вообщем к чему я это все: я понял что если в системе есть элементы которые могут взаимодействовать хотябы с 3-5 другими элементами, возможно стоит реализовать схему с очредями, это сильно распутывает логику взаимодействия этих компонентов.

KidsKilla
05.09.2007, 14:21
2 last
EventDispatcher +
http://potapenko.com/rus/articles/conveyor.htm
?