设计模式之组合模式

Android中对组合模式的应用随处可见的就是View和VIewGroup类的使用。Android UI设计,几乎所有的widge和布局类都依靠这两个类。

组合模式,Composite Pattern,是一个非常巧妙的设计模式。几乎所有的面向对象系统都用到了组合模式。

意图:

将View和ViewGroup组合成树形结构以表示“部分-整体”的层次结构(View可以作为VIewGroup的一部分)。

组合模式使得用户对单个对象View和组合对象VIewGroup的使用具有一致性。

结构:

针对View和ViewGroup的实际情况,我们选择安全的组合模式(在组合对象中添加add,remove,getChild方法),添加少许的注释,我们把上图修改为:

效果:

1)结构型模式。

2)定义了包含基本对象和组合对象的类层次结构。这种结构能够灵活控制基本对象与组合对象的使用。

3)简化客户代码。基本对象和组合对象有一致性,用户不用区分它们。

4)使得更容易添加新类型的组件。

5)使你的设计变得更加一般化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,540评论 25 708
  • 一、组合模式的概念 先来一段官方概念:组合多个对象形成树形结构以表示“整体-部分”的结构层次。组合模式对单个对象(...
    flyflyho阅读 1,164评论 4 7
  • 组合模式 组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用...
    Binaryify阅读 484评论 0 0
  • 组合模式 View顶层接口,随便搞个获取背景方法,不要在意没有返回值哈哈 文字类,实现View接口。 图片类,实现...
    smallstrong阅读 191评论 0 1
  • ddfd826c77b3阅读 159评论 0 0