设计模式
hello_my_snow
Snow is the globe, and I need more strength to pull it.
展开
-
设计模式-命令模式
转载:http://www.cnblogs.com/ikuman/archive/2013/08/06/3233092.html 意图:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作 动机:将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来。 效果: 1)、command模式将调用操作的对象和实现该操作的对象解耦 2)、可转载 2014-12-14 15:37:46 · 704 阅读 · 0 评论 -
设计模式-监听器模式
监听器模式是监听对象的行为,例如工作的进度监听,事件监听等等。它是Android开发中经常使用的一种设计模式,每一个控件(Button,ImageView...)都有各种Listener。还有一个中场景,监听异步任务状态的改变。 这里,直接引用Android中View的源代码: public class View implements Drawable.Callback, KeyEvent.C原创 2014-11-22 20:39:53 · 1351 阅读 · 0 评论 -
设计模式-观察者模式
观察者模式又称发布-订阅模式,用于定义对象间的一种一对多的关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知,并且自动更新原创 2014-11-22 19:02:51 · 743 阅读 · 0 评论 -
设计模式-Adapter模式
最近在工作中遇到了一种场景,大概是这样:一个项目中,包含Widget(桌面小部件),它是由RemoteViews来渲染和实现的,而现在的需求是,要在应用程序里面对Widget上的字体大小和颜色进行设置,并且在应用里面能够看到变化,这就需要由View来渲染和实现。但是View和RemoteViews事两个不相关的类,他们渲染的方式完全不一样,但是我又不想重新写一套View的渲染代码,这就想到了Ada原创 2014-12-19 21:40:34 · 704 阅读 · 0 评论 -
设计模式-工厂模式
工厂模式分为三种情况:简单工厂模式,工厂方法模式,抽象工厂模式,根据不同的场景选择相应的模式。 简单工厂模式用于生产单一的产品,一般使用静态方法,根据传入的参数返回不同的对象实例。 工厂方法模式,定义一个用于创建对象的接口,让子类决定创建哪个类,它使一个类型实例化延长到了子类。原创 2014-11-06 22:51:48 · 1249 阅读 · 1 评论 -
设计模式-模版方法模式
模版方法是一个非常简单,使用频率比较高的设计模式。 意图: 定义一个操作中算法的骨架,而将将一些方法的实现延迟到子类中,TemplateMethod使得子类可以不改变算法的结构即可重定义算法的特定方法。 参与者: AbstractClass,抽象类。定义抽象的操作,具体的子类将重新定义各自的实现算法。 ConcreteClass,具体的实现类。 回想一下,在之前的开发中用到过这种模式,原创 2015-01-11 11:26:18 · 666 阅读 · 0 评论 -
设计模式-代理模式
定义:为其他对象提供一种代理以控制这个对象的访问。 使用场景:在一些情况下,客户端不能直接访问一个对象,那么代理就起到中介的作用。有时,一次性创建一个对象需要很大开销时,可以使用代理来存储这个对象的信息,当需要那一部分时,再由创建。有时,当使用一个对象之前还需要做一些处理,这时候也可以用到代理。 一个最简单的代理模式的demo:我们在登陆一个系统时,登陆之前先检查用户名是否合法,并且纪录登陆和原创 2014-12-06 19:14:48 · 825 阅读 · 0 评论 -
设计模式-备忘录模式
意图:在不破坏对象封装性的前提下,在对象的外部得到并保存对象内部的状态,这样对象以后还能恢复到原来的状态。像是备份对象的内部信息。 参与者: memento(备忘录),存储原发器的内部状态。 Originator(原发器),创建备忘录,纪录自己当前的状态,以及使用备忘录恢复对象的状态。 CareTaker(负责人),负责保存好备忘录,并且保护备忘录不能被改变。原创 2014-12-28 21:19:15 · 505 阅读 · 0 评论