《领域驱动设计精简版》读书四

服务

有些领域中的动作,它们是一些动词,看上去却不属于任何对象。它们代表了领域中的一个重要的行为,所以不能忽略它们或者简单的把它们合并到某个实体或者值对象中

服务的3个特征:

1.服务执行的操作涉及一个领域概念,这个领域概念通常不属于一个实体或者值对象。

2.被执行的操作涉及到领域中的其他的对象。

3.操作是无状态

模块

   模块的必要性:

1、模型大到一定程度时必须要使用模块来降低模型的复杂性。

2、代码应该具有高层次的内聚性和低层次的耦合度。

建立模块的方式:

将高关联度的类分组到一个模块以提供尽可能大的内聚。

有很多类型的内聚。最常用到的两个是通信性内聚和功能性内聚。

1、通信性内聚通常在模块的部件操作相同的数据时使用。

2、功能性内聚在模块中的部件协同工作以完成定义好的任务时使用。这被认为是最佳的内聚类型。

在设计中使用模块是一种增进内聚和消除耦合的方法。

模块名称会成为通用语言的组成部分。模块和它们的名字应该能反映对领域的深层理解。

你可能感兴趣的:(《领域驱动设计精简版》读书四)