microwind/ai-skills/bounded-context
Claude Code and agent skill by microwind/ai-skills
- community
Checking that the SKILL.md file is still in the repository.
领域模型的明确边界,同一术语在不同上下文中可以有不同含义,是DDD战略设计的核心。
Install
npx vskill@latest install microwind/ai-skills/bounded-contextSKILL.md
限界上下文 (Bounded Context)
概述
限界上下文是 DDD 战略设计最重要的概念:一个明确的语义和模型边界,在这个边界内,特定的领域模型与通用语言保持一致且完整。Eric Evans 强调,对大型系统进行"模型大一统"既不现实也不经济,应当显式地为每个模型划出适用边界。
核心思想:
- 同一个术语在不同上下文中含义不同("订单"在销售、物流、财务中含义不同)
- 每个上下文有自己独立的模型、通用语言与团队所有权
- 上下文边界 = 团队边界 = 代码库 / 模块 / 微服务边界
- 边界的划分主要由"业务语言与组织文化"驱动,而非纯技术考量
经典示例:电商系统
代码示例
识别限界上下文
轻量 EventStorming 工作坊步骤(推荐用于初次划分):
⚠️ 拆得过细的代价:上下文不是越多越"DDD"。拆得过细会带来分布式事务、跨上下文调用链放大、团队认知碎片化、数据一致性维护成本陡增等问题。判据:当一个"业务流程"需要频繁横跨 3+ 个上下文,或频繁出现"为了保持一致性而拉一个分布式事务"时,往往是上下文划分错了——先合并再考虑细分。康威定律双向适用:模型边界要匹配团队边界,而团队边界本身也应稳定且可承载。
上下文间通信
上下文之间的协作方式由 上下文映射 模式决定,常见手段包括同步 RPC、异步事件,以及在需要"保护本上下文模型"时引入防腐层(ACL):
上下文映射模式
DDD 共定义 9 种上下文映射模式(详见 context-mapping):
| 模式 | 说明 | 适用场景 | |
|---|---|---|---|
| Partnership(合作关系) | 双方相互依赖,共同规划与集成 | 不可独立成功的两个上下文 | |
| Shared Kernel(共享内核) | 两个上下文共享一小部分模型,变更需双方协调 | 紧密协作、信任度高的团队 | |
| Customer/Supplier(客户-供应商) | 上游团队把下游需求纳入规划 | 明确的上下游协作关系 | |
| Conformist(追随者) | 下游放弃自己的模型,直接顺从上游模型 | 无法影响上游、且翻译成本过高 | |
| Anticorruption Layer(防腐层) | 下游构建隔离层,做模型转换 | 与遗留系统或外部系统集成 | |
| Open Host Service(开放主机服务) | 上游提供标准化协议,供多个下游消费 | 公共能力 / 平台型服务 | |
| Published Language(发布语言) | 用文档化的共享语言(如 JSON Schema、Avro)通信 | 跨上下文 / 跨组织集成 | |
| Separate Ways(各行其道) | 不集成,各自独立实现 | 无显著业务依赖 | |
| Big Ball of Mud(大泥球) | 标记杂乱无章的遗留区域,防止其模型扩散 | 遗留系统的隔离与控制 |
常见误区
❌ 按数据库表划分上下文——把表结构直接当成边界,本质仍是数据驱动设计 → 上下文边界由业务语言与团队职责决定;数据库结构是结果,不是起点
❌ 多个上下文共享同一张表 / 同一个 ORM Entity 类——表面上分了上下文,运行时仍是一个大泥球 → 每个上下文有自己的模型与持久化映射;要共享数据用 API / 事件,不要共享表
❌ 追求"标准答案"上下文划分——一次到位、永不调整 → 上下文随业务理解加深会演化;定期复盘、允许重构边界比"一次画对"更重要
与其他DDD概念的关系
总结
核心:限界上下文为模型与通用语言划定明确的适用边界,同一概念在不同上下文可以有不同含义。
实践:按业务语言 / 团队所有权 / 业务流程划分上下文,上下文间根据上下文映射模式(合作、共享内核、客户-供应商、防腐层、开放主机服务等)协同。
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdomain-driven-design/bounded-context/SKILL.md
Popularity
- Repository stars
- 51
- Repository forks
- 13
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/microwind/ai-skills/bounded-context)