Re: вопрос по архитектуре
От: reson Россия  
Дата: 24.12.08 08:08
Оценка:
Здравствуйте, chernyh, Вы писали:

C>Hi All!


C>Но тут возникает проблема — эти Action'ы начинают плодиться кучами и уже есть необходимость задуматься о новом уровне абстракции всего этого.

C>Что можете предложить, коллеги?

Возможны несколько вариантов:
1. Для объединения нескольких action в одно действие очень удобно использовать конвейеры, т.е. выполняющиеся один за другим последовательно action, в которых с выхода одного передается на вход следующего. Позволяет сократить захардкоденые action. Например, выбор из справочника по кнопке в поле будет последовательностью: сформировать ограничения для справочника, выбрать данные справочника, создать визуализатор справочника, выложить и отобразить модальную форму, сохранить результат в поле.

2. Когда много action являются одной подсистемой удобно подключать их к объектам сразу всем скопом. Т.е. получается такой своебразный package, содержащий action и дополнительные поля или свойства (можно их еще объединить в аспекты) для подсистемы. Например, если мы хотим реализовать версионность данных, то модифицировать нужно как объекты доступа к данным (процесс загрузки данных и сохранения), так и внешний вид представлений пользовательского интерфейса.
Делаем package и подключаем его как на сервере приложений, так и на клиенте.

3. Для структуризации удобно использовать именования через точку типа namespace в # или package в Java. Основная проблема тут — проблема найти уже существующий action для нового блока системы. Структуризация решает эту проблему.

4. Очень удобно декларативно задавать все вышеперечисленное и хранить в объектном persistent хранилище.

С уважением, Волков Максим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.