`
yehoubin
  • 浏览: 24333 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android设计模式系列-组合模式

 
阅读更多

Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。
组合模式,Composite Pattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式。

1.意图
将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构(View可以做为ViewGroup的一部分)。
组合模式使得用户对单个对象View和组合对象ViewGroup的使用具有一致性。
热点词汇: 部分-整体 容器-内容 树形结构 一致性 叶子 合成 安全性 透明性

2.结构

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

3.代码
View类的实现:

  1. public class View{ 
  2.  
  3.         //... ... 
  4.  
  5.        //省略了无关的方法 
  6.  

ViewGroup的实现:

  1. public abstract class ViewGroup extends View{ 
  2.  
  3.     /** 
  4.    * Adds a child view.  
  5.  
  6.     */ 
  7.  
  8.    public void addView(View child) { 
  9.  
  10.        //... 
  11.  
  12.     } 
  13.  
  14.  
  15.  
  16.    public void removeView(View view) { 
  17.  
  18.         //... 
  19.  
  20.     } 
  21.  
  22.  
  23.  
  24.    /** 
  25.  
  26.      * Returns the view at the specified position in the group. 
  27.  
  28.     */ 
  29.  
  30.     public View getChildAt(int index) { 
  31.  
  32.        try { 
  33.  
  34.            return mChildren[index]; 
  35.  
  36.       } catch (IndexOutOfBoundsException ex) { 
  37.  
  38.            return null; 
  39.  
  40.       } 
  41.  
  42.    } 
  43.  
  44.  
  45.  
  46.     //other methods 
  47.  

4.效果
(1).结构型模式
(2).定义了包含基本对象和组合对象的类层次结构。这种结构能够灵活控制基本对象与组合对象的使用。
(3).简化客户代码。基本对象和组合对象有一致性,用户不用区分它们。
(4).使得更容易添加新类型的组件。
(5).使你的设计变得更加一般化。

出自http://mobile.51cto.com/ahot-418970.htm

 

分享到:
评论

相关推荐

    Java和Android源码设计模式 2017-03-21

    ### Java和Android源码设计模式解析 #### 前言:设计模式的重要性 设计模式是软件工程中的一个重要概念,它代表了一种最佳实践,能够帮助开发者解决常见的编程问题。掌握设计模式不仅能够提升代码的质量,还能提高...

    android常用设计模式

    Android 设计模式系列还包括工厂方法模式、抽象工厂模式、创建者模式、原型模式、单例模式、适配器模式、桥模式、组合模式、装饰模式、外观模式、享元模式、代理模式、解释器模式、模板方法模式、职责链模式、命令...

    Android设计模式(详细讲解了10个Android设计模式)

    详细讲解了组合模式、观察者模式、单例模式、模板方法模式、备忘录模式、享元模式、命令模式、工厂方法模式、适配器模式 原型模式等10个Android设计模式,和CSDN上其他讲Android设计模式的文章完全不同。讲解详细,...

    Android-23种设计模式

    在Android开发中,设计模式是提升代码质量和可维护性的重要工具。设计模式是对软件设计中常见问题的解决方案的模板,经过时间和实践的检验,能够帮助开发者有效地解决复杂性问题,提高代码的重用性和可扩展性。本...

    android设计模式

    "android设计模式"这一主题,主要涵盖了一些常见的设计原则、模式以及如何在Android环境中应用它们。《设计模式之禅》作为一本经典著作,其深入浅出的讲解方式使得读者能够轻松掌握设计模式的核心理念。 1. **设计...

    Android设计模式

    "Android设计模式"这个主题涵盖了多种在Android系统源码以及应用程序开发中常用的设计模式。这些模式是解决常见编程问题的成熟方案,通过理解和应用它们,可以显著提高代码质量。 设计模式分为三大类:创建型模式、...

    自定义控件 - 设计模式 - 良好设计 - ViewPager

    "自定义控件 - 设计模式 - 良好设计 - ViewPager"这个主题,旨在探讨如何利用设计模式来创建高效且可维护的自定义ViewPager。ViewPager是一个常用的Android组件,它允许用户在多个视图之间滑动,常用于实现页面轮播...

    Android设计模式系列之组合模式

    Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。 组合模式,Composite Pattern,是一个非常巧妙的模式。几乎...

    Android源码设计模式

    在Android系统中,设计模式是开发者理解和驾驭代码的关键。这些模式源自《设计模式:可复用面向对象软件的基础》一书,由“Gang of Four”(GoF)提出,被广泛应用于各种软件开发中,尤其是在Android框架内。本文将...

    设计模式之--适配器模式

    适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,特别是在解决系统间的兼容性和接口不匹配问题时。适配器模式的核心思想是将一个类的接口转换成客户希望的另一个接口,使原本由于接口不兼容而无法...

    Java和Android源码设计模式

    ### Java和Android源码设计模式 #### 前言:迈向精通之路——设计模式的重要性 在软件开发领域,设计模式被视为提升代码质量和可维护性的关键工具。本文将深入探讨Java和Android开发中常用的设计模式,并结合实际...

    Android-用Kotlin实现设计模式代码

    本主题将探讨如何利用Kotlin实现常见的设计模式,这些模式对于构建可维护、可扩展和灵活的Android应用程序至关重要。 1. **单例模式(Singleton)**:在Android中,单例模式常用于创建全局唯一实例,例如网络请求管理...

    android 24种设计模式介绍与6大设计原则

    在Android开发中,设计模式和设计原则是提升代码质量、可维护性和可扩展性的重要工具。以下是关于"Android 24种设计模式介绍与6大设计原则"的详细阐述: 一、六大设计原则 1. **单一职责原则(Single ...

    Android-Image-Tools-windows.zip_android_android 解包_android-img-t

    "Android-Image-Tools-windows.zip" 是一个专为Windows用户设计的工具包,它包含了处理Android系统镜像文件所需的各种工具。这个压缩包主要用于帮助用户对Android系统的BOOT和RECOVERY分区进行修改和定制,从而实现...

    Android源码设计模式解析与实战

    本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、...

    Android组合模式简单Demo

    **Android组合模式简单Demo** 在Android开发中,设计模式是一种重要的编程思想,它能帮助我们构建更加优雅、可维护的代码结构。其中,组合模式(Composite Pattern)是一种结构型设计模式,它允许我们以树形结构来...

    android-android-ui-design-patterns.zip_android

    在Android应用开发中,UI设计模式扮演着至关重要的角色,它们是解决常见设计问题的预定义解决方案,可以提高代码的可读性、可维护性和用户体验。"android-android-ui-design-patterns.zip"压缩包中的"android-...

    Android源码设计模式解析与实战PDF

    本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、...

    Java和Android设计模式

    ### Java和Android设计模式 #### 设计模式概览 设计模式是软件开发中解决常见问题的一种标准化解决方案。在Java及Android开发中,合理运用设计模式能够显著提高代码质量,增强程序的灵活性、可扩展性和可维护性。...

    Android 源码设计模式解析与实战

    本书专门介绍Android源代码的设计模式,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。本书的主要内容为:优化代码的第一步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、...

Global site tag (gtag.js) - Google Analytics