Domain-driven design, DDD / Предметно-ориентированное проектирование

Предметно-ориентированное проектирование (реже проблемно-ориентированное, англ. Domain-driven design, DDD) — это набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом. Предметно-ориентированное проектирование не является какой-либо конкретной технологией или методологией. DDD — это набор правил, которые позволяют принимать правильные проектные решения. Данный подход позволяет значительно ускорить процесс проектирования программного обеспечения в незнакомой предметной области. Подход DDD особо полезен в ситуациях, когда разработчик не является специалистом в области разрабатываемого продукта. К примеру: программист не может знать все области, в которых требуется создать ПО, но с помощью правильного представления структуры, посредством предметно-ориентированного подхода, может без труда спроектировать приложение, основываясь на ключевых моментах и знаниях рабочей области. Данный термин был впервые введен Э. Эвансом в его книге с таким же названием «Domain-Driven Design»[1].

Алексей Мерсон — Domain-driven design: рецепт для прагматика
▶︎

Алексей Мерсон — Domain-driven design: рецепт для прагматика

Влад Хононов: Как DDD меняет разработку? Интервью с автором Learning DDD
▶︎

Влад Хононов: Как DDD меняет разработку? Интервью с автором Learning DDD

Дмитрий Анисов — Как готовить Domain Driven Design
▶︎

Дмитрий Анисов — Как готовить Domain Driven Design

Domain Driven Design – просто о сложном. Дмитрий Науменко.
▶︎

Domain Driven Design – просто о сложном. Дмитрий Науменко.

What is DDD - Eric Evans - DDD Europe 2019
▶︎

What is DDD - Eric Evans - DDD Europe 2019

Многоликий DDD — Сергей Баранов
▶︎

Многоликий DDD — Сергей Баранов

Bounded context: будь проще! – Евгений Пешков
▶︎

Bounded context: будь проще! – Евгений Пешков

Интервью с автором Learning Domain-Driven Design • Влад Хононов
▶︎

Интервью с автором Learning Domain-Driven Design • Влад Хононов

Александр Галкин,  Литрес. Делаем модульный монолит с использованием DDD
▶︎

Александр Галкин, Литрес. Делаем модульный монолит с использованием DDD

Визуализация архитектуры C4 model / Максим Пальчиков
▶︎

Визуализация архитектуры C4 model / Максим Пальчиков

Денис Цветцих. Чистая Архитектура и DDD 10 лет спустя
▶︎

Денис Цветцих. Чистая Архитектура и DDD 10 лет спустя

Чернобыль захватили звери, которых не было 1000 лет
▶︎

Чернобыль захватили звери, которых не было 1000 лет

MoscowJS 56 — Реализация DDD в рамках NestJS — Сердар Садыков
▶︎

MoscowJS 56 — Реализация DDD в рамках NestJS — Сердар Садыков

Геннадий Хазанов "Объезд по кривой" (1989)
▶︎

Геннадий Хазанов "Объезд по кривой" (1989)

A Complete DDD Review: Strategic and Tactical Patterns + Case Studies
▶︎

A Complete DDD Review: Strategic and Tactical Patterns + Case Studies

Максим Морев — DDD в действии
▶︎

Максим Морев — DDD в действии

DDD (Domain Driven Design) | Symfony PHP
▶︎

DDD (Domain Driven Design) | Symfony PHP

Сергей Баранов — Многоликий DDD
▶︎

Сергей Баранов — Многоликий DDD

Микросервисная архитектура, подходы и технологии / Кирилл Ветчинкин (TYME)
▶︎

Микросервисная архитектура, подходы и технологии / Кирилл Ветчинкин (TYME)

Инструменты domain driven design / Артем Малышев
▶︎

Инструменты domain driven design / Артем Малышев