Проблемно-ориентированное консультирование

. . . . . . . . . . . Разработка программного обеспечения
Процесс разработки ПО
Ключевые процессы
Анализ
Проектирование
Программирование
Конструирование
Тестирование
Отладка
Развёртывание
Сопровождение
Документирование
Парадигмы и модели
Agile
Cleanroom
Итеративная
Спиральная
Каскадная
V-Model
Dual Vee Model
Методологии
ASD
DevOps
DAD
DSDM
FDD
Канбан
Lean SD
LeSS
MDD
MSF
PSP
OpenUP
RAD
RUP
SAFe
Scrum
TSP
UP
XP
Инструменты
Компилятор
Отладчик
Профилирование
GUI-конструктор
ИСР
Автоматизация сборки
Автоматизация релиза
Инструменты тестирования

Предметно-ориентированное проектирование (реже проблемно-ориентированное, англ. Domain-driven design, DDD) — это набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом.

Предметно-ориентированное проектирование не является какой-либо конкретной технологией или методологией. DDD — это набор правил, которые позволяют принимать правильные проектные решения. Данный подход позволяет значительно ускорить процесс проектирования программного обеспечения в незнакомой предметной области.

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

Данный термин был впервые введен Э. Эвансом в его книге с таким же названием «Domain-Driven Design».

Содержание 1 Основные определения
2 Концепция 2.1 Ограниченные связи
2.2 Целостность
2.3 Взаимосвязь 3 Элементы DDD 3.1 Ограниченный контекст
3.2 Сущность
3.3 Объект-значение
3.4 Агрегат
3.5 Службы предметных областей 4 Взаимосвязь с подходами программирования
5 Примечания
6 См. также
7 Литература
8 Ссылки
Проблемно-ориентированное консультирование