组合模式
将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。
Composite Pattern
Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.
类图

模式的结构与使用
组合方法模式的结构中包括三种角色。
+ 抽象组件(Abstract Component):是一个接口(抽象类),该接口(抽象类)定义了个体对象和组合对象需要实现的关于操作其子节点的方法,比如add()、remove()以及getChild()等方法。抽象组件也可以定义个体对象和组合对象用于操作其自身的方法,比如isLeaf()方法等。
+ Composite(Composite Node):实现Component接口类的实例,Composite节点不仅实现Component接口,而且可以含有其他Composite节点或Leaf节点的引用。
+ Leaf节点(Leaf Node):实现Component接口类的实例,Leaf节

本文详细介绍了Java中的组合模式,该模式用于构建部分-整体的层次结构,使得用户可以统一处理单个对象和组合对象。文章通过军事人员的组织结构为例,展示了Component、Composite和Leaf的角色,以及如何计算薪资。组合模式的优势在于允许用户以一致的方式处理个体对象和组合对象,且易于扩展。提供源码下载链接。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



