
Android 设计模式
辛言
持之以恒,不懈努力,不抛弃不放弃!
展开
-
Android设计模式(十三)--状态模式
1、定义:当一个对象内在状态转变时,允许改变其行为,这个对象看起来改变了其类;2、优点:将与特定状态相关的行为局部化,并且将不同状态的行为分割开来;3、目的:消除庞大的条件分支语句;4、使用:当一个对象的行为取决于它的状态,并且它在运行时刻必须根据状态改变它的行为时,就可以考虑状态模式;5、描述:将特定状态的行为都原创 2015-06-18 16:32:57 · 845 阅读 · 0 评论 -
Android设计模式(十五)--备忘录模式
在Android中用于保存Activity状态的onSaveInstanceState()和恢复Activity状态的onRestoreInstanceState(),这种算不算是一种备忘录模式呢?1、定义:在不破坏封装的情况下,捕获对象的内部状态,并在对象之外保存这个状态,这样以后就可以恢复以后保存的状态;2、使用:备忘录模式,比较适合用于功能复杂,但是需要维原创 2015-06-23 12:50:37 · 1611 阅读 · 0 评论 -
Android设计模式(九)--外观模式
问题:在Android中,Apk可以有微信,QQ为代表的插件式安装更新功能;那么问题来了,主系统(姑且这么说)调用插件式安装的子系统,由子系统提供对外的访问,属不属于一种外观模式呢?先说设计模式:1、定义:为子系统中的一组接口提供一个统一接口;Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。2、目的:降低对子系统的复杂度和依赖。这使得子系原创 2015-06-09 17:51:00 · 1011 阅读 · 0 评论 -
Android设计模式(七)--原型模式
1、定义:用原型实例指定创建对象种类,并通过拷贝这些原型创建新的对象。2、目的:从一个对象创建另外一个可定制的对象,而不需要知道任何创建细节。3、作用: 3.1、简化对象的创建; 3.2 、对于处理大对象,性能上比new 高出很多。4、分类: 4.1浅拷贝:拷贝对象中的基本的数据类型,对于数组、容器对象、引用对象等都不会拷贝。 4.2深拷原创 2015-06-09 10:01:43 · 1018 阅读 · 0 评论 -
Android设计模式(五)--简单工厂模式
1、面试的时候问到这样的问题:在一个ListView 的item子视图中,很多种不同的显示样式,或者说是,为了更好的维护,或者以后需要添加不同的样式,应该怎么做?我一下就想到的是工厂的模式,利用工程,编写ViewFactory,方法中有getView()的方法,以后需要时,添加相应的参数,并编写不同的实现类,也就是不同样式的视图;但是这样的答案,似乎没有让面试官满意;原创 2015-06-04 11:02:20 · 1576 阅读 · 0 评论 -
Android设计模式(四)--代理模式
1、定义:为其他对象提供一种代理以控制对这个对象的访问。2、使用:在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。3、作用:代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了的作用和保护了目标对象的作用。4、划分:代理还分成远程代理、虚代理、保护代理和智能指针;以下写了一个简单的demo;原创 2015-06-04 09:22:37 · 1039 阅读 · 0 评论 -
Android设计模式(二)--策略模式
1、定义:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.定义了一系列的算法原创 2015-06-03 10:06:59 · 1586 阅读 · 1 评论 -
Android设计模式(十四)--适配器模式
悲剧面试题:简单谈谈你对Android中的适配器模式;Adapter有哪些Adapter?画出Adapter 的类图;只有面试的时候才知道自己能力如何;只有面试的时候才能更清晰的知识自己哪些不足;既然不足那就补上。适配器模式:1、定义:将一个接口转化为客户希望的另外一个接口;2、目的:Adapter模式使得原本由于接口原创 2015-06-19 10:49:25 · 1351 阅读 · 0 评论 -
Android设计模式(十二)--抽象工厂模式
问题:抽象工厂模式,是一个,狠恶心的模式,那么这个模式在Android有没有用到过呢?1、定义:抽象工厂模式:为创建一组相关或者是相互依赖的对象提供一个接口,而不需要指定他们的具体类。2、使用: 2.1、不依赖于产品类实例如何被创建,组合和表达的细节; 2.2、产品有多于一个的产品族,而系统只消费其中某一族的产品; 2原创 2015-06-12 15:52:01 · 1919 阅读 · 0 评论 -
Android设计模式(十一)--观察者模式
问题:在Android中,根据Android的事件树,我们知道:在与屏幕按键、触摸、滑动等操作与应用进行交互时触发的相关事件中,交互事件是沿着事件树自顶向下传播的;当位于事件树上层的父控件接受到事件后,判断事件的所属,若需要,则截获事件,否则,向下子控件传播。那么我们在编写各种Listener,在View各种事件函数接受和处理各类交互事件,这种处理模式,是否就是一种观察者模式呢原创 2015-06-11 12:55:57 · 858 阅读 · 0 评论 -
Android设计模式(十)--建造者模式
回头看自己写的东西,在关于Android自定义控件时,写的代码适用性比较高,但是看上去没有什么技术含量,所以在学习设计模式的时候,想想有些东西是否能够改进,比如说:自定义Dialog是Android应用必须的,系统的控件实在是太难看了;在构建中,完全是,new完对象之后,需要什么构建什么,这样写没有问题,可读性也还行,就是看上去不咋的。以下是小部分代码片段:package原创 2015-06-10 10:33:36 · 1501 阅读 · 1 评论 -
Android设计模式(六)--工厂方法模式
1、定义:Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.定义一个用于创建对象的接口,让子类决定实例化哪个类。原创 2015-06-04 15:23:58 · 800 阅读 · 0 评论 -
Android设计模式(三)--装饰模式
1、定义:Attach additional responsibilities to an object dynamically keeping the same interface. Decoators provide a flexible alternative to subclassing for extending functionality.在不必改变原类文件和使用继承的情况原创 2015-06-03 11:31:46 · 921 阅读 · 0 评论 -
Android设计模式(八)--模板方法模式
到国美面试Android的时候,问我的设计模式相关的问题:1、单例模式的意义时什么;2、有哪几种工厂方法模式;3、你用过的模板方法模式,举例说明;自己感觉答的一塌糊涂。模板方法模式都没说出来;悲剧!基础不牢,地动山摇。大公司注重基础,所以对于java 基础,设计模式,算法。这些是一定牢固的!1、定义:定义一个操作算法的骨架,将一些步骤延伸到子类中。原创 2015-06-09 16:20:05 · 815 阅读 · 0 评论 -
Android设计模式(一)--完美单例模式
Android完美单例模式:以前写的单例模式考虑不完全;面试的时候,考到这样的问题;想到这么的问题,居然也会出现,只是后面才发现自己写的单例,太过幼稚;所以到网上找了一些资料,重新写一个;原创 2015-06-02 16:47:15 · 2495 阅读 · 1 评论