文章目录
[+]
自身具有组合关系
如果再把IEmployee考虑进来,我们须要有重生层次的抽象,例如,它们都有Name,可以抽象出IObjectWithName的工具,那么它们的关系图就可以变成这样:
业务实体之间的组合关系

(图片来自网络侵删)
如上图,组合模式紧张意图是把具有“整体-部分”关系的工具组织成层次构造,Client程序利用的时候可以按照统一的接口进行访问这些工具。
经典组合模式的静态构造
组合模式的静态构造图
抽象的Component常日会供应增加、删除、查询遍历等操作。这里Client程序只是依赖抽象的容器,其向客户程序屏蔽了调用的内部细节,这每每可以把更为繁芜的数据关系和客户程序隔离开来。