上篇博客谈到了Observer(观察者)模式在Android中的使用情况,本篇博客继续讨论Android中常用到的Composite(组合)模式。
一、Composite(组合)模式简介
组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 "组合对象" 的含义。
组合模式可以让客户端像修改配置文件一样简单的完成本来需要流程控制语句来完成的功能。
上面uml图形分析,基类AbstractComposite(E)包含两个子类Left(T1)和Composite(T2),
其中Composite(e)又包含了两个子类left(t1)和childComposite(t2),以此类推,凡遇到Left类则表示其没有其他子类,否则就可继续向下延伸,最后组合成树状的结构形成组合设计模式。
二、Android中组合模式的用例:
为了能使看到我博客的童鞋能够更加轻松理解组合模式,举得例子也都是开发过程中常见到的用例:
Android开发过程中view是常用到的类,View可扩展的子类有很多,这里就以UML里面的为例,TextView、ImageView、ViewGroup都是View的子类。
(1) TextView(T1)是基类View(E)的子类,同时也是Button(t)的基类;
(2) ImageView则相当于上一幅UML中的Left类,其下面没有划分其他子类;
(3) ViewGroup(T3)与View(E)是包含关系,多个View可以组合成ViewGroup,而ViewGroup又可以组成一个完整的View显示在界面上;
以上就是Android中典型的组合模式,部分与整体的层级关系,文字不多,但内容也算精髓,希望对各位有所帮助,后面也会不断完善相关博客。欢迎关注我的博客。