定义(GoF《设计模式》):将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
涉及角色
1.Component:(View)是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component子部件。
2.Leaf:(TextView、自定义View)在组合中表示叶子结点对象,叶子结点没有子结点(即不能在View内再添加View)。
3.Composite:(ViewGroup及其子类)定义有枝节点行为,用来存储子部件,在Component接口中实现与子部件有关操作,如增加(addView)、获得(getViewAt)和删除(removeView)等。
适用性
以下情况下适用Composite模式:
1.你想表示对象的部分-整体层次结构
2.你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。
总结
(1).结构型模式
(2).定义了包含基本对象和组合对象的类层次结构。这种结构能够灵活控制基本对象与组合对象的使用。
(3).基本对象和组合对象有一致性,用户不用区分它们。
(4).使得更容易添加新类型的组件。
未完待续,有不对的地方,请指正。
时间: 2024-10-05 08:26:44