4.0 KiB
4.0 KiB
aliases | tags | date | ||||
---|---|---|---|---|---|---|
|
|
2024-11-24 |
Ограниченный контекст (Bounded Context) — это ==логическая граница, внутри которой используется своя уникальная модель предметной области.== Он применяется в разработке для структурирования сложных систем, особенно когда бизнес-логика состоит из множества разрозненных частей.
Основные характеристики:
- Локализация моделей: Модель, используемая внутри одного контекста, не должна быть напрямую применима в других контекстах. Например, "Заказ клиента" в контексте управления складом может включать данные о весе и объеме, а в контексте бухгалтерии — только финансовую информацию.
- Изоляция логики и терминологии:. Один и тот же термин может означать разные вещи в разных контекстах. Например, "Клиент" в маркетинговом контексте — это целевая аудитория, а в контексте продаж — это покупатель с историей заказов.
- Границы и ответственность: Каждый контекст имеет свои четко определенные границы, и все, что относится к этому контексту (термины, сущности, события), остается внутри этих границ.
- Интеграция контекстов: Разные контексты взаимодействуют через явно определенные способы, такие как события, API, шины сообщений. Это позволяет минимизировать зависимость между контекстами.
Представим систему интернет-магазина. Возможные ограниченные контексты:
- Каталог продуктов — управление списком товаров и их характеристиками.
- Управление заказами — отслеживание состояния заказов.
- Склад — управление инвентарем и логистикой.
- Бухгалтерия — расчеты, счета и налоги.
Каждый из этих контекстов оперирует своей моделью данных и логикой, при этом данные могут пересекаться. Например, "Товар" есть в каталоге и на складе, но в каждом из контекстов он будет описан по-разному.
Польза
- ../efficiency/Снижение когнитивной нагрузки при разработке за счет локализации сложных моделей.
- Улучшение читаемости и тестируемости кода.
- Уменьшение зависимости между различными частями системы.
Мета информация
Область:: Родитель:: Источник:: Создана:: 2024-11-24 Автор::