首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

领域中内聚的懂得

2012-11-05 
领域中内聚的理解领域中为什么要有内聚??????? 将关联减至最少的设计有助于简化对象之间的遍历,并在某种程

领域中内聚的理解

领域中为什么要有内聚?

?????? 将关联减至最少的设计有助于简化对象之间的遍历,并在某种程度上限制关系的急剧增多。但大多数业务领域中的对象都具有十分复杂的联系,以至于最终会形成一个很长、很深的对象引用路径,我们不得不在这个路径上追踪对象。某种程度上,这种混乱状态反映了现实世界,因为现实世界很少有清晰的边界。软件设计中一个重要的问题。
?????? 问题的根源所在是模型,归根到底是由于模型中缺乏明确定义的边界,因此我们尽量使用某些模式使得模型更易于理解,设计更易于沟通。当模型被修改时,它将引导我们对实现做出修改。

?

什么是领域中的内聚

??????? Aggregate就是一组相关对象的集合,我们把它作为数据修改的单元。每个Aggregate都有一个根(root)和一个边界(boundary)。边界定义了Aggregate内部都有什么。在Aggregate中,根是唯一允许外部对象保持对它的引用的元素,而边界内部的对象之间则可以互相引用。

领域中内聚的懂得

?

????

?上图中Car和Engine为根对象,而红线为边界,根据上面所说的,边界中的对象可以互相引用,即Car,Tire,Position,Wheel可以相互之间引用不作限制,同时根中的对象可以保存其他根对象的引用。但是根外的对象访问边界中的对象只能通过根进行访问,就如上图的Customer,我们不提倡直接访问Tire。

热点排行