IDDD 9 Module

<< 实现领域驱动设计 >> 九: 模块

模块是命名的容器,通用语言的重要组成部分。


Alt text

MindMapping Source (Org Format):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

* 模块
** Module
*** Java
**** package
*** C#
**** namespace
*** Ruby
**** module
** 通过模块完成设计
*** 命名的容器
*** 通用语言的重要组成部分
*** 设计规则
**** 和领域概念协调一致
**** 根据通用语言来命名模块
**** 不要机械式根据组件类型来创建
eg 所有领域服务放在一起
**** 松耦合
**** 杜绝循环依赖
**** 父子模块放松原则
**** 不是静态概念,与模型的对象一道进行建模
** 模块的基本命名规范
*** 层级形式命名
*** 避免顶级模块名与第三方模块命名冲突
** 领域模型的命名规范
*** 加入限界上下文名
*** *.domain.model
** 其他层的模块
*** 分层架构命名
*** 需要时才划分子模块
** 先考虑模块,再考虑上下文