ТЕХНИЧЕСКИЕ НАВЫКИ

ДомойBA & SA RoadmapDDD (Domain Driven Design)

DDD (Domain Driven Design)

DDD означает «Domain-Driven Design» (Проектирование на основе предметной области). Это методология и набор принципов и практик для проектирования сложных программных систем, сосредоточенных на предметной области бизнеса.

Основные принципы DDD:

  1. Предметно-ориентированное проектирование: DDD ставит предметную область бизнеса в центр разработки. Она акцентирует внимание на понимании и моделировании ключевых понятий, правил и процессов предметной области. Язык моделирования основан на терминах и концепциях, используемых в бизнесе.
  2. Разделение на ограниченные контексты: Предметная область разбивается на ограниченные контексты, где каждый контекст представляет изолированную подсистему с собственной моделью и правилами. Каждый контекст имеет явно определенные границы и взаимодействует с другими контекстами через явно определенные интерфейсы.
  3. Моделирование агрегатов: Агрегаты представляют собой согласованные группы объектов, которые являются единой единицей изменений и поддерживают инварианты (правила) предметной области. Агрегаты являются главными строительными блоками модели и обеспечивают консистентность данных в предметной области.
  4. Язык моделирования: В DDD используется общий язык моделирования (Ubiquitous Language), который обеспечивает единое понимание между разработчиками, экспертами предметной области и другими участниками проекта. Язык моделирования используется в коде, документации и коммуникации для выражения понятий предметной области.
  5. Итеративное и инкрементное развитие: DDD подразумевает постепенное развитие модели предметной области и системы через итерации и непрерывное обратное связывание с экспертами предметной области. Это позволяет уточнять и улучшать модель в соответствии с пониманием предметной области и бизнес-требований.

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

1 КОММЕНТАРИЙ

Подписаться
Уведомить о
guest

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Joker
Joker
1 месяц назад

Ерунда этот DDD

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас