Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемConstantiner
1 Cairngorm Microarchitecture Павел Кожин Exigen Services
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 Диаграмма
16 За и против Ясный и прямолинейный подход Легко оценивать трудозатраты Много кода при добавлении простой функциональности Много зависимостей
17 Вопросы? Павел Кожин Exigen Services
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.