首页 > 代码库 > Android与设计模式——组合(Composite)模式

Android与设计模式——组合(Composite)模式

定义(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).使得更容易添加新类型的组件。


未完待续,有不对的地方,请指正。

Android与设计模式——组合(Composite)模式