大话设计模式学习(十四)——组合模式

来源:互联网 发布:淘宝充气娃娃真人演示 编辑:程序博客网 时间:2024/06/05 08:34

 组合模式(Composite),将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性

 

 

Component为组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component的子部件

 

Leaf在组合中表示叶节点,叶节点没有子节点

 

Composite 定义有枝节点行为,用来存储子部件,在Component接口中实现与子部件有关的操作,比如增加Add和删除Remove

 

 

客户端代码,能通过Component接口操作组合部件的对象

 

结果显示:

- root

--- Leaf a

--- Leaf b

--- composite x

----- Leaf xa

----- Leaf xb

----- Composite XY

------- Leaf XYA

------- Leaf XYB

--- Leaf c

当你发现需求中是体现部分与整体层次的结构时,以及你希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就应该考虑使用组合模式了

原创粉丝点击