- DDD中会有很对限界上下文,这些上下文中有一个成为核心域,而其他上下文即为子域。子域是整个业务领域的一部分,你可以认为子域代表的是一个单一的、有逻辑的领域模型。
- 子域有三种类型:
- 核心域:它是唯一的、定义明确的领域模型,要对它进行战略投资,并在一个明确的限界上下文中投入大量资源去精心打磨通用语言。它是模型中最重要的部分,也是产品核心竞争力所在。
- 支撑子域:指非业务核心部分,比如在收费系统中,计费管理为核心域,组织机构管理就是支撑子域。同时这类建模场景也适用于“定制开发”。
- 通用子域:指不带有业务逻辑的公共基础设施。
- 为了应对复杂性,应尽量保证限界上下文与子域一一对应。如果必须在同一个限界上下文中创建第二个模型,那么应该使用一个完全独立的模块将该模型从核心域中分离出来,在Java中就是使用package。