`

Android涉及到的设计模式

 
阅读更多

1、适配器模式:ListView或GridView的Adapter

简介:不同的数据提供者使用一个适配器来向一个相同的客户提供服务。

 

2、建造者模式:AlertDialog.Builder

简介:可以分步地构造每一部分。

 

3、命令模式:Handler.post后Handler.handleMessage

简介:把请求封装成一个对象发送出去,方便定制、排队、取消。

 

4、享元模式:Message.obtainMessage通过重用Message对象来避免大量的Message对象被频繁的创建和销毁。

简介:运用共享技术有效地支持大量细粒度的对象。

 

5、迭代器模式:如通过Hashtable.elements方法可以得到一个Enumeration,然后通过这个Enumeration访问Hashtable中的数据,而不用关心Hashtable中的数据存放方式。

简介:提供一个方法顺序访问数据集合中的所有数据而又不暴露对象的内部表示。

 

6、备忘录模式:Activity的onSaveInstanceState和onRestoreInstanceState就是通过Bundle这种序列化的数据结构来存储Activity的状态,至于其中存储的数据结构,这两个方法不用关心

简介:不需要了解对象的内部结构的情况下备份对象的状态,方便以后恢复。

 

7、观察者模式:我们可以通过BaseAdapter.registerDataSetObserver和BaseAdapter.unregisterDataSetObserver两方法来向BaseAdater注册、注销一个DataSetObserver。这个过程中,DataSetObserver就是一个观察者,它一旦发现BaseAdapter内部数据有变量,就会通过回调方法DataSetObserver.onChanged和DataSetObserver.onInvalidated来通知DataSetObserver的实现类。事件通知也是观察者模式

简介:一个对象发生改变时,所有信赖于它的对象自动做相应改变。

 

8、原型模式:比如我们需要一张Bitmap的几种不同格式:ARGB_8888、RGB_565、ARGB_4444、ALAPHA_8等。那我们就可以先创建一个ARGB_8888的Bitmap作为原型,在它的基础上,通过调用Bitmap.copy(Config)来创建出其它几种格式的Bitmap。另外一个例子就是Java中所有对象都有的一个名字叫clone的方法,已经原型模式的代名词了

简介:在系统中要创建大量的对象,这些对象之间具有几乎完全相同的功能,只是在细节上有一点儿差别。

 

9、代理模式:类似于ios开发的delegate委托模式,所有的AIDL都一个代理模式的例子。假设一个Activity A去绑定一个Service S,那么A调用S中的每一个方法其实都是通过系统的Binder机制的中转,然后调用S中的对应方法来做到的。Binder机制就起到了代理的作用。

简介:为其他对象提供一种代理以控制对这个对象的访问。

 

10、状态模式:View.onVisibilityChanged方法,就是提供了一个状态模式的实现,允许在View的visibility发生改变时,引发执行onVisibilityChanged方法中的动作。

简介:状态发生改变时,行为改变。

 

11、策略模式:

举例:Java.util.List就是定义了一个增(add)、删(remove)、改(set)、查(indexOf)策略,至于实现这个策略的ArrayList、LinkedList等类,只是在具体实现时采用了不同的算法。但因为它们策略一样,不考虑速度的情况下,使用时完全可以互相替换使用。

简介:定义了一系列封装了算法、行为的对象,他们可以相互替换。

 

12、调解者模式

简介:一个对象的某个操作需要调用N个对象的M个方法来完成时,把这些调用过程封装起来,就成了一个调解者

举例:如Resource.getDrawable方法的实现逻辑是这样的:创建一个缓存来存放所有已经加载过的,如果getDrawable中传入的id所对应的Drawable以前没有被加载过,那么它就会根据id所对应的资源类型,分别调用XML解析器生成,或者通过读取包中的图片资源文件来创建Drawable。

而Resource.getDrawable把涉及到多个对象、多个逻辑的操作封装成一个方法,就实现了一个调解者的角色。

 

13、抽象工厂模式

DAO与Service的使用

转自:http://blog.csdn.net/dengshengjin2234/article/details/8502097

分享到:
评论

相关推荐

    android常用设计模式

    观察者模式(Observer Pattern)是另一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下。例如,AbstractCursor 类就是一个观察者模式的例子。 Android 设计模式系列还...

    android 源码设计模式

    通过阅读《Android源码设计模式解析与实战》这本书,你可以更系统地学习和掌握这些模式,并将它们应用到自己的项目中,提升开发效率和代码质量。无论你是初学者还是有经验的开发者,这个主题都提供了宝贵的进阶学习...

    Android源码设计模式解析与实战 pdf高清版

    通过学习这本书,读者不仅可以掌握设计模式的精髓,还能了解到Android系统架构的深层次设计思路,这对于提升个人技术水平、优化代码质量和提高问题解决能力都将大有裨益。无论你是初涉Android开发,还是已经有一定...

    Android源码设计模式解析与实战.pdf+精彩绝伦的Android UI设计.pdf

    《Android源码设计模式解析与实战.pdf》与《精彩绝伦的Android UI设计.pdf》这两本书籍涵盖了Android开发中的核心知识点,包括了设计模式的深入理解和实际应用,以及UI设计的创新与实践。 首先,设计模式是软件工程...

    Android 源码设计模式解析与实战(完整版)

    《Android源码设计模式解析与实战》是一本深入探讨Android系统源码中设计模式应用的专业书籍。这本书旨在帮助开发者理解Android系统内部的工作机制,并通过实际案例来应用和掌握设计模式,提升开发技能和代码质量。 ...

    《Android源码设计模式解析与实战》PDF版本下载.txt

    根据提供的文件信息,我们可以推断出这是一本关于Android源码设计模式的书籍,并提供了PDF版本的下载链接。下面将围绕这本书籍所涉及的核心知识点进行详细的解析与介绍。 ### 设计模式简介 设计模式是在软件工程...

    android设计模式

    在Android开发中,设计模式是提升代码质量和可维护性的重要工具。这些文件名代表了不同设计模式的应用实例,让我们逐一探讨它们所体现的设计模式及其重要性。 1. **ObserverEventBus** - 这个文件可能涉及到`观察者...

    Android源码设计模式解析与实战 pdf 高清完整版

    此外,书中还可能涉及其他如职责链模式、命令模式、享元模式等设计模式在Android框架和应用开发中的实际运用。通过阅读这本书,开发者不仅能学习到设计模式的理论知识,还能了解到如何在实际项目中有效运用这些模式...

    Android Ap 开发 设计模式第一篇:迭代器模式

    此外,Android的观察者模式(Observer)在处理事件监听时,也涉及到类似迭代器的概念,即遍历并通知所有观察者。 总的来说,迭代器模式在Android应用开发中扮演着不可或缺的角色。它不仅简化了集合数据的遍历操作,...

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

    通过阅读《Android源码设计模式解析与实战》,开发者不仅能了解到各种设计模式的原理,还能学习到如何在实际项目中有效地应用这些模式,提升代码质量,优化系统架构。书中的实例和实战经验将帮助读者深入理解Android...

    Java和Android设计模式

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

    android 毕业设计,Xml解析和设计模式应用了高保真界面设计。

    总之,这个毕业设计项目涵盖了Android应用开发的关键技术,包括XML解析、设计模式的运用、ListView的数据展示以及高保真界面设计,是学习Android开发的好材料。对于想要深入Android世界的开发者来说,这是一个值得...

    精彩绝伦的Android UI设计:响应式用户界面与设计模式

    《精彩绝伦的Android UI设计:响应式用户界面与设计模式》是一本深入探讨Android用户界面设计的专业书籍,尽管出版时间可能相对较早,但其内容的深度和广度使其至今仍具有很高的参考价值。Android UI设计是开发者和...

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

    自定义控件通常涉及到扩展已有的Android View或 ViewGroup,以便添加新的功能、样式或交互方式。这可以通过重写onDraw()方法来绘制自己的图形,或者通过覆写测量和布局过程来改变控件的行为。 设计模式是软件工程中...

    Android、Java、设计模式、面试题.zip

    对于Java,面试题可能涉及异常处理策略、集合框架的使用场景、多线程问题,以及如何实现设计模式。对于设计模式,面试官可能会要求解释各种模式的用途,以及在实际项目中如何应用它们。 总之,Android、Java和设计...

    Android编程设计模式之责任链模式详解

    责任链模式是一种行为设计模式,它的核心思想是将一系列处理请求的对象串联成一条链,当一个请求到来时,会沿着这条链逐个处理,直到某个对象能够处理该请求为止。这种模式有效地解耦了发送请求的客户端和具体的处理...

    Android 设计模式MVC+MVP 视频资源

    本资源主要涉及两种常用的设计模式:Model-View-Controller(MVC)和Model-View-Presenter(MVP)。下面将详细介绍这两种模式以及它们在实际项目中的应用。 **Model-View-Controller (MVC)** MVC是一种经典的软件...

Global site tag (gtag.js) - Google Analytics