'

Cairngorm Microarchitecture

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





Слайд 0

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


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


Слайд 14

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


Слайд 15

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


Слайд 16

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


×

HTML:





Ссылка: