'

Cairngorm Microarchitecture

Понравилась презентация – покажи это...





Слайд 1

Cairngorm Microarchitecture Павел Кожин vertex.mailbox@gmail.com http://www.riapriority.com/vertex Exigen Services http://www.adobe.com/go/cairngorm


Слайд 2

Cairngorm (karn gorm) Желто-коричневая разновидность топаза, залегающая преимущественно в Шотландии. Произношение


Слайд 3

Что такое Cairngorm? Набор классов и интерфейсов Микроархитектура на базе паттернов Проверенное решение для создания Flex-приложений


Слайд 4

Зачем? Нет необходимости изобретать велосипед Стандартный подход Легкий способ добавления новой функциональности Повторное использование


Слайд 5

Используемые паттерны Singleton Command Delegate ValueObject Observer


Слайд 6

Решаемые проблемы Обработка действий пользователя FrontController – перехват Command – обработка Service to Worker микроархитектура Бизнес логика BusinessDelegate – обработка бизнес логики ServiceLocator – доступ к дата-сервисам Клиентская объектная модель ValueObject – модель ModelLocator – управление состоянием и обновление представления


Слайд 7

Модель Состояние приложения Данные с сервера или локальные данные Реализует Cairngorm ModelLocator Singleton для хранения клиентской модели


Слайд 8

Представление Пользовательский интерфейс (GUI) mxml файлы и контролы Данные доставляются в модел через binding


Слайд 9

Контроллер Взаимодействие между уровнями приложения Events com.adobe.cairngorm.control.CairngormEvent Commands com.adobe.cairngorm.commands.ICommand com.adobe.cairngorm.business.IResponder Реализует Cairngorm ModelLocator Singleton для хранения клиентской модели Связка комманд и событий Пользовательские события/смена модели


Слайд 10

События Парметры передаваемые между уровнями приложения


Слайд 11

Комманда “Service to Worker” паттерн Реализует Cairngorm Command Interface Responder Interface (опционально) execute() получает событие в виде аргумента


Слайд 12

Сервис Локатор Singleton паттерн Выделяет уровень взимодействия с данными


Слайд 13

Бизнес Делегат Обращается и получает результаты от сервера используя ServiceLocator Позволяет комманде вызывать удаленный сервис, обрабатывать результат или ошибку


Слайд 14

Workflow Регистрируем CairngormEvent в FrontController Вещаем событие FrontController – вызов execute() в нужной комманде Command вызывает сервис используя BusinessDelegate Результат обрабатывается в result() комманды Изменение модели через ModelLocator Изменения представления


Слайд 15

ServiceLocator ModelLocator VO View User Event Cairngorm EventDispatcher FrontController Command binding Delegate Диаграмма http://www.cairngormdocs.org/tools/CairngormDiagramExplorer.html


Слайд 16

За и против Ясный и прямолинейный подход Легко оценивать трудозатраты Много кода при добавлении простой функциональности Много зависимостей


Слайд 17

Вопросы? Павел Кожин vertex.mailbox@gmail.com http://www.riapriority.com/vertex Exigen Services


×

HTML:





Ссылка: