Применение DDD-методологии в PHP Александр Новиков mem-memov@yandex.ru.

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



Advertisements
Похожие презентации
Архитектура сервиса С3 Автор: Малыгин М.В. Руководитель: Тимченко Б.Д.
Advertisements

СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ) Основные элементы: СущностиСущности –Атрибуты –Ключи СвязиСвязи.
Трехслойная архитектура приложений, основанных на использовании баз данных.
Мартин Фаулер « Архитектура корпоративных программных приложений » Подготовила Ст. ПС - 41 Лукиных Н. А.
Методология объектно- ориентированного программирования.
ПОСТРОЕНИЕ ОНТОЛОГИЧЕСКОГО СПРАВОЧНИКА ОТРАСЛЕВОГО УРОВНЯ С УЧЕТОМ РЕКОМЕНДАЦИЙ СТАНДАРТА ISO
Контроль за эффективностью использования IT-инфраструктуры с точки зрения бизнеса при помощи Progress Actional. Соколов Максим, Progress Technologies.
МЕТОДЫ ОРГАНИЗАЦИИ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ С ПОДОБНЫМИ СТРУКТУРАМИ КАК ЕДИНЫЙ ИФОРМАЦИОННЫЙ РЕСУРС ХРАНИЛИЩА МНОГОМЕРНЫХ ДАННЫХ. Волков Антон Андреевич.
Владимир Костюков, АлтГТУ АлтГТУ им И. И. Ползунова Распределенная система мониторинга и диспетчерезации процессов гетерогенной среды.
Разработка системы статистического анализа сообщений в социальных сетях с применением модели распределенных вычислений MapReduce Соискатель - Игнатенко.
ООО НПФ «СПАРК». Кредо: Оптимальные, адекватные и эффективные решения задач с учётом специфики и объективных реалий бизнеса Заказчика Инструменты: Современные.
Процесс создания системы интеграции данных (СИД) в хранилище данных (на примере хранилища, построенного по технологии IBM BDW ) Позин Борис Аронович, технический.
Алексей Кирсанов ведущий разработчик «1С-Битрикс» Магазин – глобальная реструктуризация. D7 Партнерская конференция «1С-Битрикс»
Базы данных Лекция 01 Информационные технологии баз данных.
Предпосылки формирования нового подхода к проектированию динамических ресурсов всемирной паутины ацп. Кейно П.П. Научный руководитель: проф., к.т.н. Силуянов.
Распределённая интеграционная система РМ-3. РМ-3 РМ-3 – распределённая интеграционная программная среда, предназначенная для построения единого верхнего.
Люди уже больше лет визуализируют свои мысли.
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
D7: проектирование и реализация нового модуля «Диск» Алексей Кирсанов Ведущий программист «1С-Битрикс»
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Транксрипт:

Применение DDD-методологии в PHP Александр Новиков

Единый язык Событие Действи е Дэшборд Виджет Источник данных

Изоляция предметной области Вынести вспомогательный код Очертить границу модели

Преимущества предметно-ориентированного проектирования реализация сложной бизнес-логики повышенная прикладная ценность приложения быстрое обнаружение несоответствий ТЗ ясные приоритеты при распределении ресурсов проекта

Смешение языков помешало построить Вавилонскую башню PHP JavaScript HTML SQL CSS

Объекты доступа к данным контроллеры база данных модель предметной области браузер

Входящий ассоциативный массив

Исходящий ассоциативный массив

Марка не может сама себя напечатать, продать, положить в альбом или порвать на части

Обязанности коллекции сущностей создать новую сущность и присвоить ей уникальный ID найти сущность по ID или другим свойствам извлечь из сущности состояние и сохранить его уничтожить ненужную сущность CRUD

Фабрика фабрик Слой, содержащий модель предметной области, выполнен в виде фабрики коллекций. Каждая коллекция является фабрикой объектов. Объекты представляют собой понятия предметной области.

Сущность

Особенности сущностей время жизни составляет несколько сессий качественно может не отличаться от других экземпляров имеет идентификатор

Объект-значение

Особенности объектов-значений срок жизни не выходит за рамки одной сессии не изменяет состояние может использоваться для передачи сообщений между объектами может входить в качестве атрибута в состав сложных объектов (агрегатов) допускает денормализацию в базе данных

Агрегат

Подключение частей к агрегату сущность коллекция фабрика

коллекция

Служба

Многоярусная архитектура

Управление Сервисы Модель Хранилище

Юнит-тестирование объекты-значения сущности коллекции агрегаты службы

Рефакторинг Перенос вычислений и сложной логики принятия решений в отдельные объекты-значения Объединение сходных сценариев внутри службы Переименование методов и свойств Перегруппировка сборных объектов

Благодарю за внимание