摘要: 设计模式之中介者模式 Aug 23, 2015 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 正文 软件开发中,中介者是一个行为设计模式,通过提供一个统一的接口让系统的不同部分进行通信。 阅读全文
posted @ 2017-05-04 12:36 king^queen 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 设计模式之享元模式 Sep 12, 2015 享元模式(Flyweight),运行共享技术有效地支持大量细粒度的对象,避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。享元模式可以避免大量非常相似类的开销,在程序设计中,有时需要生产大量细粒度的类实例来表示数据,如果能发现这些 阅读全文
posted @ 2017-05-04 12:36 king^queen 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 设计模式之模板方法 Aug 16, 2015 模板方法(TemplateMethod)定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法是一种代码复用的基本技术,在类库中尤为重要,因为他们提取了类库中的公共行为。模 阅读全文
posted @ 2017-05-04 12:35 king^queen 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 设计模式之代理模式 Aug 12, 2015 代理,顾名思义就是帮助别人做事,GoF 对代理模式的定义如下: 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西。 阅读全文
posted @ 2017-05-04 12:34 king^queen 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 设计模式之策略模式 Jul 23, 2015 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 正文 在理解策略模式之前,我们先来一个例子,一般情况下,如果我们要做数据合法性验证,很多时候都是按照 swith 语句来判断,但是这就带来几个问题 阅读全文
posted @ 2017-05-04 12:33 king^queen 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 设计模式之状态模式 May 22, 2015 状态模式(State)允许一个对象在其内部状态改变的时候改变它的行为,对象看起来似乎修改了它的类。 正文 举个例子,就比如我们平时在下载东西,通常就会有好几个状态,比如准备状态(ReadyState)、下载状态(DownloadingState)、暂停状 阅读全文
posted @ 2017-05-04 12:32 king^queen 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 设计模式之职责链模式 职责链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。也就是说,请求以后,从第一个对象开始,链中收到请求的对象要么亲自处理它, 阅读全文
posted @ 2017-05-04 12:32 king^queen 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 设计模式之迭代器模式 Apr 25, 2015 迭代器模式(Iterator):提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。 迭代器的几个特点是: 访问一个聚合对象的内容而无需暴露它的内部表示。 为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操 阅读全文
posted @ 2017-05-04 12:31 king^queen 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 设计模式之命令模式 Feb 24, 2015 命令模式(Command)的定义是:用于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及执行可撤销的操作。也就是说改模式旨在将函数的调用、请求和操作封装成一个单一的对象,然后对这个对象进行一系列的处理。此 阅读全文
posted @ 2017-05-04 12:27 king^queen 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 设计模式之观察者模式 Feb 23, 2015 观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。 使用观察者模式的好处: 支持简单的广播 阅读全文
posted @ 2017-05-04 12:20 king^queen 阅读(155) 评论(0) 推荐(0) 编辑