Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему DDD. Предметно-ориентированное проектирование

Содержание

Что это вообще такое?Вроде бы всего лишь один из шаблонов реализации бизнес-логики!Но не только..Пример того, как следует выделить предметную область в программном обеспечении, для того, чтобы проще преодолевать сложности, частые изменения, проблемы коммуникации и прочие недуги
Предметно-ориентированное проектированиеПривет, Эванс Что это вообще такое?Вроде бы всего лишь один из шаблонов реализации бизнес-логики!Но Не отменяет практикиDDD – лишь дополнениеООППаттерныSOLID, KISS, DRY, …TDDIoCORM Где это нужно?	Не надо использовать DDD везде!Хорошо подходит для Enterpriseдлинный жизненный циклбольшое 2 стороны DDDТактикасущностьобъект-значениесервиссобытиеагрегатфабрикахранилищеСтратегияединый языкпредметная областьпредметная подобластьсмысловое ядроограниченный контексткарта контекстов Единый языкЯзык созданный и понимаемый ВСЕМИ участниками проекта – экспертами, разработчиками, бизнес-аналитиками, Единый язык (честно украденный пример)«Медсестра назначает вакцину от гриппа пациенту в стандартной Ограниченный контекстВ рамках предметной области смысл определенного термина или фразы может сильно Ограниченный контекст (пример)Понятие «Счет» в разных предметных областяхБанковские услуги – счет клиентаПартия Предметная область, подобласть, смысловое ядроПредметная область – это то, что делает организация, Пространство задач и пространство решенийПространство задач – части предметной области, необходимые для Карта контекстовОтображение пространства решений, в котором находится команда.Набор ограниченных контекстов и связей СущностьПонятие предметной области, которое является уникальным и отличным от всех других объектов Объект-значениеОбъект, для которого не важна его индивидуальность.Объект, который полностью определяется своими атрибутами.измеряет, СервисВыполняет действия, которые нельзя отнести к какой-то конкретной сущности или объекту-значению.Операция не АгрегатКластер из объектов сущностей или значений. Агрегаты рассматриваются как единое целое с ФабрикаНекоторые агрегаты или сущности могут быть достаточно сложными. Сложный объект не может ХранилищеОбласть, которая предназначена для безопасного хранения помещенных в нее элементов.Каждый агрегат, предполагающий
Слайды презентации

Слайд 2 Что это вообще такое?
Вроде бы всего лишь один

Что это вообще такое?Вроде бы всего лишь один из шаблонов реализации

из шаблонов реализации бизнес-логики!

Но не только..

Пример того, как следует

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

Слайд 3 Не отменяет практики
DDD – лишь дополнение

ООП
Паттерны
SOLID, KISS, DRY,

Не отменяет практикиDDD – лишь дополнениеООППаттерныSOLID, KISS, DRY, …TDDIoCORM


TDD
IoC
ORM


Слайд 4 Где это нужно?
Не надо использовать DDD везде!

Хорошо подходит

Где это нужно?	Не надо использовать DDD везде!Хорошо подходит для Enterpriseдлинный жизненный

для Enterprise
длинный жизненный цикл
большое количество сущностей со сложными «взаимоотношениями»
-

эволюция бизнес-модели

Слайд 5 2 стороны DDD
Тактика
сущность
объект-значение
сервис
событие
агрегат
фабрика
хранилище
Стратегия
единый язык
предметная область
предметная подобласть
смысловое ядро
ограниченный контекст
карта

2 стороны DDDТактикасущностьобъект-значениесервиссобытиеагрегатфабрикахранилищеСтратегияединый языкпредметная областьпредметная подобластьсмысловое ядроограниченный контексткарта контекстов

контекстов


Слайд 6 Единый язык
Язык созданный и понимаемый ВСЕМИ участниками проекта

Единый языкЯзык созданный и понимаемый ВСЕМИ участниками проекта – экспертами, разработчиками,

– экспертами, разработчиками, бизнес-аналитиками, а то и заказчиками.

Каждый участник

проекта использует в своей работе именно этот язык – и в коде, и в документации и в общении.

Слайд 7 Единый язык (честно украденный пример)
«Медсестра назначает вакцину от

Единый язык (честно украденный пример)«Медсестра назначает вакцину от гриппа пациенту в

гриппа пациенту в стандартной дозе»

patient.SetShotType(ShotTypes.Flu);
patient.SetDose(dose);
patient.SetNurse(nurse);

patient.GiveFluShot();

Vaccine vaccine = Vaccines.StandartAdultFluDose();
nurse.AdministerFluVaccine(patient, vaccine);


Слайд 8 Ограниченный контекст
В рамках предметной области смысл определенного термина

Ограниченный контекстВ рамках предметной области смысл определенного термина или фразы может

или фразы может сильно отличаться.

Ограниченный контекст - некая граница,

в пределах которой понятия единого языка имеют вполне конкретное контекстное значение.

Слайд 9 Ограниченный контекст (пример)
Понятие «Счет» в разных предметных областях

Банковские

Ограниченный контекст (пример)Понятие «Счет» в разных предметных областяхБанковские услуги – счет

услуги – счет клиента
Партия в теннис – счет матча


Слайд 10 Предметная область, подобласть, смысловое ядро
Предметная область – это

Предметная область, подобласть, смысловое ядроПредметная область – это то, что делает

то, что делает организация, и среда, в которой она

это делает. Смысл бизнеса, вся его аутентичность.

Это и есть DOMAIN – первая D в DDD.

Смысловое ядро – подобласть, имеющая первостепенное значение.

Слайд 11 Пространство задач и пространство решений
Пространство задач – части

Пространство задач и пространство решенийПространство задач – части предметной области, необходимые

предметной области, необходимые для создания смыслового ядра (т.е. само

ядро + какие-либо предметные подобласти).

Пространство решений – один или несколько ограниченных контекстов. Разработанный ограниченный контекст – это по сути реализация решения пространства задач.

Идеальный вариант – однозначное соответствие между подобластями и контекстами, т .е. между задачами и решениями.

Слайд 12 Карта контекстов
Отображение пространства решений, в котором находится команда.

Набор

Карта контекстовОтображение пространства решений, в котором находится команда.Набор ограниченных контекстов и

ограниченных контекстов и связей между ними:
Partnership
Shared kernel
Customer-supplier development
Conformist
Anticorruption

layer
Open host service
Published language
Separate ways
Big ball of mud

Слайд 13 Сущность
Понятие предметной области, которое является уникальным и отличным

СущностьПонятие предметной области, которое является уникальным и отличным от всех других

от всех других объектов в системе.

То, что имеет свою

идентичность/индивидуальность, которая связана с ней на протяжении всего существования.

Слайд 14 Объект-значение
Объект, для которого не важна его индивидуальность.
Объект, который

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

полностью определяется своими атрибутами.

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

неизменяемым
моделирует нечто концептуально целое

Слайд 15 Сервис
Выполняет действия, которые нельзя отнести к какой-то конкретной

СервисВыполняет действия, которые нельзя отнести к какой-то конкретной сущности или объекту-значению.Операция

сущности или объекту-значению.

Операция не принадлежит ни одному из объектов

предметной области
Операция выполняется над различными объектами предметной области

Злоупотребление приводит к «анемичной модели предметной области».

Слайд 16 Агрегат
Кластер из объектов сущностей или значений.

Агрегаты рассматриваются

АгрегатКластер из объектов сущностей или значений. Агрегаты рассматриваются как единое целое

как единое целое с точки зрения изменения данных.

У агрегата

есть корень агрегации. Все обращения к агрегату должны происходить через него.

Слайд 17 Фабрика
Некоторые агрегаты или сущности могут быть достаточно сложными.

ФабрикаНекоторые агрегаты или сущности могут быть достаточно сложными. Сложный объект не


Сложный объект не может создавать сам себя посредством конструктора.

Двигатель

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

  • Имя файла: ddd-predmetno-orientirovannoe-proektirovanie.pptx
  • Количество просмотров: 114
  • Количество скачиваний: 0