ddd-context-mapping
Сопоставление отношений ограниченных контекстов с паттернами DDD
Интеграция Domain-Driven Design становится сложной при взаимодействии нескольких ограниченных контекстов. Этот навык определяет четкие контракты и уровни защиты от внешнего влияния между контекстами с использованием проверенных паттернов DDD.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «ddd-context-mapping». Map relationships between Checkout, Billing, and Inventory contexts for an e-commerce platform
Ожидаемый результат:
- Context Map: Checkout-Billing (Customer-Supplier, Billing owns contract)
- Context Map: Checkout-Inventory (Partnership, shared contract ownership)
- ACL required at Billing boundary to translate payment terms
- Coupling risk: Inventory availability changes affect Checkout flow
Использование «ddd-context-mapping». Design integration between new Order context and legacy ERP system
Ожидаемый результат:
- Pattern: Anti-Corruption Layer between Order and ERP
- Order context defines canonical Order model
- ACL translates ERP terminology to Order ubiquitous language
- Contract tests validate ACL behavior for all ERP scenarios
Аудит безопасности
БезопасноStatic analysis flagged markdown backticks as shell commands and weak cryptography patterns. All findings are FALSE POSITIVES - the skill contains only documentation and reference material with no executable code, network calls, or filesystem operations. Safe for publication.
Оценка качества
Что вы можете построить
Планирование интеграции микросервисов
Сопоставьте интеграцию контекстов Checkout, Billing, Inventory и Fraud перед реализацией границ сервисов.
Миграция устаревшей системы
Определите уровни защиты от внешнего влияния при интеграции новых предметных областей с существующими монолитными системами
Определение контрактов между командами
Проясните права владения восходящими и нисходящими потоками для предотвращения утечки предметной области и нечеткого распределения ответственности
Попробуйте эти промпты
Проанализируйте мою предметную область с следующими ограниченными контекстами: [список контекстов]. Определите отношения между каждой парой и рекомендуйте подходящие паттерны сопоставления контекстов из DDD.
Мне нужно интегрироваться с [внешняя система/контекст]. Спроектируйте уровень защиты от внешнего влияния, который переводит их модель в мой универсальный язык, защищая при этом мое ядро предметной области.
Создайте матрицу владения контрактами для этих пар контекстов: [список пар]. Определите, кто владеет каждым контрактом, какой перевод необходим и уровень риска связанности.
Для интеграции контекста [восходящий] в [нисходящий] с использованием паттерна [паттерн], определите режимы отказа, установите резервное поведение и политику версионирования.
Лучшие практики
- Держите код уровня защиты от внешнего влияния на границах предметной области, а не внутри ядра предметной области
- Добавьте контрактные тесты для проверки соответствия переведенного поведения ожидаемой семантике
- Пересматривайте карты контекстов при изменении владения командой или границ предметных областей
Избегать
- Разрешение нисходящим контекстам напрямую зависеть от внутренних моделей восходящих контекстов
- Создание общих ядер между контекстами, которые должны оставаться независимыми
- Пропуск уровней перевода при интеграции с внешними или устаревшими системами
Часто задаваемые вопросы
Когда следует использовать уровень защиты от внешнего влияния вместо паттерна Conformist?
Сколько ограниченных контекстов должно быть в типичной системе?
Может ли контекст иметь несколько паттернов отношений с другим контекстом?
Что такое Shared Kernel и когда его следует избегать?
Как обрабатывать версионирование при изменении контрактов контекстов?
Работает ли этот навык для монолитных приложений?
Сведения для разработчиков
Автор
sickn33Лицензия
MIT
Репозиторий
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/ddd-context-mappingСсылка
main
Структура файлов