5.5 总结
对于领域模型而言,我们是站在结构而非流程的视角上的。我们就不应该把流程、行为赋予领域模型。如果我们在设计一台机器,工件可以看做一个聚合。工件在被用到的各个地方才具有相应的能力和用途。
需要时刻注意的是,领域模型表达的是软件的逻辑结构。沿用工件的例子,一颗螺丝可以被用到婴儿车上,也可以被用到起重机上。但是有些工件却是某个特定机器的零件,虽然它并没有特定的功能,但是有经验的老师傅一眼就能看到它可以被用到那些机器上,并提供某种特定的功能。
大部分情况下,领域模型就是数据库表在代码中类的体现,所以不是特别赞同为了"干净"将领域模型和映射数据库的类分开,大部分情况下领域模型(代码中)就是数据库表(数据库中)的映射。