Xpoint
   [напомнить пароль]

CMF::Взаимодействие модулей

Метки: [без меток]
2006-06-27 13:07:46 [обр] chakky[досье]

CMF::Взаимодействие модулей

Привет!
Народ, тут такая вечная проблема возникла... вобщем, вопрос, даже более чем абстрактен, постараюсь максимально конкретизировать.

Меня интересуют наиболее оптимальные (красота архитектуры, расширяемость, производительность... добавьте по вкусу) идеи и реализации поектирования той части ядра CMF, которая осуществляет обмен информацией и управляет взаимодействием между модулями какими-либо данными.

Допустим, есть гипотетический запрос пользователся. В результате, запроса, ядро инстанциирует соответсвующий контроллер (в случае MVC) и вызывает его Акшн (не важно, как контроллеры с Акшинами храняться физически - файлы и классы, как в Зенд, Папки и фалы, ещё что-то , собираемое из конфига). Допустим, у нас есть несколько модулей, которые так же хотят внести свою лепту в выходной поток юзеру или сделать/изменить ещё что-то.

Меня интересуют решения проектирования пободной структуры и функционала, как лучше сделать???

зы: Если читающий пожелает ответить, но будет не совсем ясно, что именно мне нужно - буду рад дополнить свой вопрос, по конкретному замечанию.

спустя 11 дней [обр] Макс Лапшин+[досье]
Посмотри на архитектуру Ruby on Rails. Что бы понять, что в одиночку уже ничего хорошего не сделать.
спустя 28 дней [обр] Vitaly Oborin[досье]
Реализуется с помощью диспетчера, которому сообщается момент начала и окончания работы основного модуля. Диспетчер подключает что надо из других модулей в начале и в конце работы, либо по событию во время обработки основного модуля. Что подключать определяется установками модулей.
спустя 6 месяцев [обр] Степаныч(0/50)[досье]

На самом деле не понятно о каких модулях может идти речь в CMF.
Модули могут быть в CMS, то есть приложении, и любые связи между модулями это нечто не связанное с CMF.

Если вопрос о том, как известить тот или иной объект о событии, то это паттерн Observer.

спустя 1 месяц 5 дней [обр] coldseed[досье]

http://msdn2.microsoft.com/en-us/library/ms978748.aspx
и итд.

Паттерны MVC, Observer, Front Controller, Intercepting Filter и Decorator на msdn.

Powered by POEM™ Engine Copyright © 2002-2005