DDD | Domain-driven design

Редактировал(а) Alexandr Fokin 2024/01/04 19:42

Некоторые термины
Ubiquitous LanguageЕдиный язык - набор терминов и понятий, используемый сотрудниками, работающими в рамках определенного Bounded Context.
Хорошо, если терминология также задействована в схемах, документации, коде приложения.
Позволяет людям более четко понимать друг другу, подразумевая определенный понятия.
Позволяет осуществлять поиск понятия для более четкого понимания происходящего в предметной области, более просто вводить новых сотрудников и при необходимости распространять информацию внешним партнерам.

Термин является уникально идентифицируемым в рамках одного контекста.
Одно и то же слово в разных Bounded Context может соотноситься с разными сущностями и может иметь маппинг (Контекст1.Термин1 -> Контекст2.Термин2).
Bounded context

Структурный элемент, содержащий внутри себя некоторые компоненты и описывающие некоторый блок предметной области.

В рамках контекста мы определяем сущности, а также наборы действие, которые мы может применить к ним.
Необходимые условия (перед выполнением какого-либо действия) и ограничения. Применение действия не должно приводить к повреждению состояния.

AggregateAggregate Root
Entity
Associations

 

Value object 
Events
Domain events
Integration Events

События предметной области: проектирование и реализация
https://learn.microsoft.com/ru-ru/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/domain-events-design-implementation

Service
Domain service
Application services

Domain Driven Design: Domain Service, Application Service [closed]
https://stackoverflow.com/questions/2268699/domain-driven-design-domain-service-application-service

  

 

 

Design a DDD-oriented microservice
https://learn.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice

Glossary of Domain-Driven Design Terms
https://www.dddcommunity.org/resources/ddd_terms/

Domain-driven design: рецепт для прагматика
https://habr.com/ru/company/jugru/blog/440772/

DotNext | Константин Густов — DDD в микросервисах сложность против сложности
https://www.youtube.com/watch?v=Z6ESG0rnpkI

DotNext | Алексей Мерсон — Domain-driven design: рецепт для прагматика
https://www.youtube.com/watch?v=CR9mLGN9jh0

 EntityFramework 6 (7) vs NHibernate 4: взгляд со стороны DDD (+ комментарии)
https://habr.com/ru/post/262407/

Внутренние ссылки:

Дочерние страницы:
Обратные ссылки:

Теги: