Cairngorm Microarchitecture Павел Кожин vertex.mailbox@gmail.com Exigen Services

Презентация:



Advertisements
Похожие презентации
1.Введение 2.Немного теории a.Концептуальная диаграмма b.Суть фреймворка c.Как это работает 3.Пример: IT Developers v1 4.Actionscript 3 [Multicore version]
Advertisements

Лекция 22 Лекция 22 Локальные, сетевые и распределенные базы данных. Архитектура «файл- сервер». Двух и трехуровневая архитектура «клиент-сервер». Модель.
Паттерны проектирования EJB. Распределенное приложение.
Лекция 1 MVC (Model-View-Controller) - это конструкционный шаблон, который описывает способ построения структуры приложения, сферы ответственности и взаимодействие.
Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
Организация программного кода при создании информационных систем Подготовил: Студент группы МЭК-21 Акименко В. И. Руководитель: Доц. Яровенко А. Н.
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Model/View-архитектура CASE-пакета REAL-MV Тимофей Брыксин, гр. 545 Научный руководитель: А.Н.Терехов Рецензент: Д.В.Кознов.
Fuse8.DomainFramework – библиотека для работы с данными Арсен Фазылзянов fuse8 3-я конференция.NET разработчиков 25 сентября 2011.
Разработка приложений с использование паттерна MVVM Сергей Лутай Руководитель департамента разработки мобильных приложений Digital Cloud Technologies Silverlight.
Распределенная обработка данных Различные модели в технологии баз данных.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Интеграция приложений с использованием BPEL. Содержание Что такое BPEL? Как работает BPEL? Как использовать BPEL для интеграции приложений?
Аспектно-ориентированный подход на службе веб- приложений Цытович Павел Леонидович Fuse8, Южно-Уральский государственный университет
4. Моделирование функциональных требований к системе.
Различия и особенности распространенных протоколов. Принципы работы протоколов разных уровней. Предоставление сетевых услуг. Борисов В.А. КАСК – филиал.
Исполнитель: Утяшева И.А. Научный руководитель: к.ф.-м.н. Винокур В.В.
Андрей Слепицкий Архитектор бизнес-решений Microsoft AR210.
Использование Google Web Toolkit для разработки AJAX-приложений Илья Обшадко
1 Паттерны проектирования MVC, MVP, MVVM. 2 Обзор Cхема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения,
Транксрипт:

Cairngorm Microarchitecture Павел Кожин Exigen Services

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

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

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

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

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

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

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

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

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

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

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

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

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

ServiceLocator ModelLocator VO View User Event Cairngorm EventDispatcher FrontController Command binding Delegate Диаграмма

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

Вопросы? Павел Кожин Exigen Services