Android设计模式
文章平均质量分 72
DroidMind
这个作者很懒,什么都没留下…
展开
-
Android设计模式之单例模式
提到单例模式,很多人可能觉得很简单,但是单例模式在我们的Android开发中却是经常的使用,所以我们有必要将它进行好好的总结。一、使用单例模式的条件 使用单例模式有一个必要条件:在一个系统要求一个类只有一个实例时才应该使用单例模式。反过来,如果一个类可以有几个实例存在,那么就没有必要使用这个单例类。作为对象的创建模式,单例模式确保某一个类只有一个实例。而且自行实例化并向整个系统系统这个实例。这个类原创 2015-12-01 11:16:03 · 675 阅读 · 0 评论 -
Android中的代理模式
代理的概念:为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。抽象对象角色:就是代理类和委托类共同的接口,声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。目标对象角色:就是委托类,...原创 2016-04-09 18:54:44 · 1870 阅读 · 0 评论 -
Android设计模式之命令模式
通过将一系列的操作封装成一个命令对象,方便执行,同时也能够很好的让我们进行一些操作回滚,用来记录是否执行过该操作等问题。我们将某些操作封装成一个Command命令,每个命令对应一个操作,如下图所示:Commandpublic interface Command { void execute();}ConcreteCommandpublic class Co...原创 2016-07-17 21:22:30 · 524 阅读 · 0 评论 -
Android设计模式之责任链模式
责任链设计模式就是某一个事件沿着某一个链不断的向下传递,直到找到相应的处理者对其进行处理为止。有些类似与一个链表的遍历过程,如果我们希望找到链表指定的某个元素,我们就需要从链表表头开始遍历,直到找到这个元素为止。下面我们可以把它当做一个链表来看待。下面我们看看对应的类图Client:客户端Handler:抽象处理者ConcreteHandler:具体处理者p...原创 2016-07-17 18:43:08 · 1041 阅读 · 1 评论 -
Android设计模式之桥接模式
特点: 将抽象部分与实现部分分离,使他们都可以独立地进行变化。为了达到让抽象部分和实现部分独立变化的目的,抽象部分会拥有实现部分的接口对象,有了实现部分的接口对象之后,就能够通过这个接口来调用具体实现部分的功能。桥接在程序上就体现成了抽象部分拥有实现部分的接口对象,实现了一种桥接关系。桥接模式中的桥接是一个单方向的关系,只能够抽象部分去使用实现部分的对象抽象化(Abstraction)...原创 2016-07-17 16:53:24 · 1981 阅读 · 0 评论 -
装饰器模式、代理模式、适配器模式和外观模式的联系与区别
代理模式VS外观模式VS适配器模式这三个模式的相同之处是,它们都作用于用户与真实被使用的类或系统之间,作一个中间层,起到了让用户间接地调用真实的类的作用。简单扣扣字眼装饰器模式:能动态的新增或组合对象的行为。 代理模式:为其他对象提供一种代理以控制对这个对象的访问. 适配器模式:是对其他对象接口的一种转换行为,将原接口转换为目标接口,达到适配的效果。外观模式:外观对象提供对子系统各元件功能的简化为...原创 2016-04-10 11:24:47 · 6477 阅读 · 0 评论 -
Android中的合成模式
合成模式属于对象的结构模式,有时又叫做“部分——整体”模式。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。安全式合成模式的结构安全模式的合成模式要求管理聚集的方法只出现在树枝构件类中,而不出现在树叶构件类中,也就是将管理子元素的方法定义在Composite(合成)类中 ,即所谓的安全式。抽象构件(Component)角色:这是一个抽象...转载 2016-04-10 10:48:42 · 1028 阅读 · 0 评论 -
Android中的模板方法模式
定义:定义一个方法操作算法的框架(骨架结构),而将一些步骤延迟到子类中。模板方法使子类可以在不改变一个算法的结构的情况下,就可以重定义该算法的某些特定步骤。就像一个工厂车间的流水线一样,每一步其实都是可以固定的,就是具体的内容有些区别,这样就可以定义一个大致的流程框架,子类就直接按照这个框架来就可以了。优点:封装不变部分,扩展可变部分。把不变部分的算法封装到父类实现,而可变部分的根据子类的具体需要,原创 2016-03-12 21:43:34 · 1466 阅读 · 0 评论 -
Android设计模式之建造者模式(Builder Pattern)
假如一个对象由许多不同的属性构造,我们想要构造一个我们自己指定特定属性的对象,最简单的方法就是为每种情况提供一个构造函数,我们根据不要的构造函数来得到我们需要的包含了指定属性的对象。我们还是举个例子吧。一个人有姓名、性别、年龄、身高,体重这五个属性组成,当我们创建一个人这个对象的时候,我们可能有下面这些情况:1、只希望指定姓名 2、只希望指定性别 3、只希望指定年龄 4、只希望指定身高 5、原创 2015-10-25 18:36:04 · 7652 阅读 · 2 评论 -
Android中的享元模式
大家对Java中的String对象的特性应该比较熟悉:String类型的对象一旦创建之后就不可修改,当两个String对象所包含的内容相同时,JVM对象只创建一个String对象对应两个不同的引用。public class Test { public static void main(String[] args) { String a = "hello"; String转载 2016-03-05 19:53:41 · 1640 阅读 · 0 评论 -
Android中的门面模式
门面模式的结构门面(Facade)角色 :客户端可以调用这个角色的方法。此角色知晓相关的(一个或者多个)子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。子系统(SubSystem)角色 :可以同时有一个或者多个子系统。每个子系统都不是一个单独的类,而是一个类的集合(如上面的子系统就是由ModuleA、ModuleB、ModuleC三个类组合而成)。每个子系统都原创 2016-03-16 19:44:26 · 969 阅读 · 0 评论 -
Android中的策略模式
策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。有一个商店,它有初级、中级、高级会员三种级别,未来也可能会添加新的会员种类。对于不同的会员,折扣模式是不一样的,传统的方法可能会进行if判断,不同的会员进行不同的折扣,但这明显的不利于折扣和定制,所以,我们可以使用策略模式,每种原创 2016-03-16 19:05:38 · 668 阅读 · 0 评论 -
Android中的观察者模式
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。抽象目标角色:定义目标对象,或者说被观察对象。 具体目标角色:实际的被观察对象,当这个对象发生变化时,它会通知观察它的对象。 抽象观察者角色:观察者的接口,定义了回调接口。 具体观察者角色:实际的观察者对象。当它观察的对象(被观察对象)发生变化时,被观察对象会对它进行回调。观察者的思想就是将原创 2016-03-03 10:47:20 · 987 阅读 · 1 评论 -
Android中的原型模式
原型模式也是拷贝模式,就是在内存中拷贝原型对象来创建一个跟原型对象一模一样的新对象。原型模式的实质就是扩展使用clone方法。为什么要这样做? 1、我们直接创建一个对象可能会消耗很多的资源,如果我们需要创建的对象跟已存在的某个对象基本一样,我们可以使用这个存在的对象拷贝一个新的对象,然后进行修改,这样效率会更高。 2、如果直接创建一个新的对象需要进行大量的初始化操作,并且需要创建的对象跟已存在的原创 2016-03-01 22:13:04 · 659 阅读 · 0 评论 -
Android设计模式——装饰模式之ContexWrapper源码分析
装饰(Decorator)模式又名包装(Wrapper)模式。在Android中,使用装饰模式一般是以Wrapper结尾,例如ContextWrapper,这也是我们这篇文章要分析的一个类。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案.装饰模式以客户透明的方式动态地给一个对象附加上更多的责任,也就是客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用更多子类的原创 2015-09-04 00:05:27 · 2249 阅读 · 2 评论 -
Android中的工厂模式
什么是工厂模式?顾名思义,就是专门用来创建对象的工厂,这里的对象指的是具有相同接口的类的对象。工厂模式可以决定将哪一个类进行实例化,不必事先知道每次要实例化的是哪一个类。工厂模式有以下三种形态: 1、简单工厂模式:又称为静态工厂方法模式。 2、工厂方法模式:又称为多态性工厂模式或虚拟构造子模式。 3、抽象工厂模式:又称为工具箱模式。一、简单工厂模式角色分析: 工厂类角色:工厂类在客户端的直接原创 2016-03-01 19:10:54 · 1348 阅读 · 0 评论 -
Java设计模式综述
昨天腾讯的面试问到了设计模式,但是自己没能回答上来,所以决定把设计模式好好的学习一下。一、设计模式的分类分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式原创 2016-02-18 11:59:07 · 654 阅读 · 0 评论