Please enable JavaScript.
Coggle requires JavaScript to display documents.
DDD - шаблоны - Coggle Diagram
DDD - шаблоны
Репозиторий
Цели
-
-
Ограничивает доступ к предметным объектам за счёт того, что работают только с агрегатами
-
Правила
-
-
-
Можно выводить обобщённые сведения через модель Summary (например сумма покупок, количество активных пользователей и т.д.)
-
-
-
-
-
Подходы
Есть фреймворки, которые позволяют отобразить предметную модель в модель данных
-
-
Можно использовать шаблон "Хранитель" для того, чтобы не светить внутреннее строение агренатов
-
-
-
-
-
Фабрика
-
Когда использовать
-
-
-
-
Там, где элементы логики конструирования не являются ответственностью зависимого класса
Фабричный метод
Когда использовать
Когда нужно вызывать различные конструкторы в агрегатах. Фабричный метод делает их вызов более выразительней
Прикладные службы
Правила
-
-
-
Регистрация, оценка, мониторинг
-
-
Обработка и публикация внутренних событий, производство ленты Atom
-
-
Должны экспортировать функции, а не изменяться под требованием клиентов
Отчёты
Должны предоставлять отчёты, не раскрывая деталей модели
-
-
Технологии
БД
-
ORM
C#
NHibernate
-
Более зрелый, чем Entity Framework
-
-
-
-
Структура
-
Предметная область
-
Термин
Предметная область - это окружение задачи, над которой работаем
Предметная модель - это абстракция предметной области, облегчённая в сторону программного кода.
Диспетчер процессов
-
Не имеют информации о своём состоянии, кроме шагов бизнес-процесса
-
Агрегаты
Правила
Границы
Нужно основывать на бизнес-правилах, а не на потребностях пользовательского интерфейса
Все данные агрегаты необходимы для выполнения инвариантов. Если есть лишние данные - то это признак нарушения границ агрената
-
-
-
-