Ограниченный контекст (Bounded Context) — это логическая граница, внутри которой используется своя уникальная модель предметной области. Он применяется в разработке для структурирования сложных систем, особенно когда бизнес-логика состоит из множества разрозненных частей.

Основные характеристики:

  • Локализация моделей: Модель, используемая внутри одного контекста, не должна быть напрямую применима в других контекстах. Например, “Заказ клиента” в контексте управления складом может включать данные о весе и объеме, а в контексте бухгалтерии — только финансовую информацию.
  • Изоляция логики и терминологии:. Один и тот же термин может означать разные вещи в разных контекстах. Например, “Клиент” в маркетинговом контексте — это целевая аудитория, а в контексте продаж — это покупатель с историей заказов.
  • Границы и ответственность: Каждый контекст имеет свои четко определенные границы, и все, что относится к этому контексту (термины, сущности, события), остается внутри этих границ.
  • Интеграция контекстов: Разные контексты взаимодействуют через явно определенные способы, такие как события, API, шины сообщений. Это позволяет минимизировать зависимость между контекстами.

Представим систему интернет-магазина. Возможные ограниченные контексты:

  • Каталог продуктов — управление списком товаров и их характеристиками.
  • Управление заказами — отслеживание состояния заказов.
  • Склад — управление инвентарем и логистикой.
  • Бухгалтерия — расчеты, счета и налоги.

Каждый из этих контекстов оперирует своей моделью данных и логикой, при этом данные могут пересекаться. Например, “Товар” есть в каталоге и на складе, но в каждом из контекстов он будет описан по-разному.

Польза

  • Снижение когнитивной нагрузки за счет локализации сложных моделей.
  • Улучшение читаемости и тестируемости кода.
  • Уменьшение зависимости между различными частями системы.

Мета информация

Область::
Родитель::
Источник::
Создана:: 2024-11-24
Автор::

Дополнительные материалы

Дочерние заметки