Cairngorm Microarchitecture

Содержание

Слайд 2

Cairngorm (karn gorm)

Желто-коричневая разновидность топаза,
залегающая преимущественно в Шотландии.

Произношение

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

Слайд 3

Что такое Cairngorm?

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

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

Слайд 4

Зачем?

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

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

Слайд 5

Используемые паттерны

Singleton
Command
Delegate
ValueObject
Observer

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

Слайд 6

Решаемые проблемы

Обработка действий пользователя
FrontController – перехват
Command – обработка
Service to Worker

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

Слайд 7

Модель

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

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

Слайд 8

Представление

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

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

Слайд 9

Контроллер

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

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

Слайд 10

События

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

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

Слайд 11

Комманда

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

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

Слайд 12

Сервис Локатор

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

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

Слайд 13

Бизнес Делегат

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

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

Слайд 14

Workflow

Регистрируем CairngormEvent в FrontController
Вещаем событие
FrontController – вызов execute() в нужной комманде
Command

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

Слайд 15

ServiceLocator

ModelLocator

VO

View

User Event

Cairngorm
EventDispatcher

FrontController

Command

binding

Delegate

Диаграмма

http://www.cairngormdocs.org/tools/CairngormDiagramExplorer.html

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

Слайд 16

За и против

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

За и против Ясный и прямолинейный подход Легко оценивать трудозатраты Много кода
простой функциональности
Много зависимостей
Имя файла: Cairngorm-Microarchitecture.pptx
Количество просмотров: 125
Количество скачиваний: 0