摘要: 命令模式 定义 将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。 特点 1.命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开。 2.每一个命令都是一个操作 阅读全文
posted @ 2018-03-05 01:54 Dyleaf 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 解释器模式 概述 解释器模式是一种用得比较少的行为型模式.提供了一种解释语言的语法或表达式的方式. 通过定义一个表达式接口,解释一个特定的上下文。 其实这种模式就是定义编译原理中学习的文法的一种表示。 UML AbstractExpression: 抽象表达式,声明一个抽象的解释操作父类,定义一个抽 阅读全文
posted @ 2018-03-05 01:53 Dyleaf 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 参考 http://blog.csdn.net/wbwjx/article/details/52264207 观察者模式 概述 对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这个模式有一个非常重要的作用就是解耦,将被观察者和观察者之间的依赖降到最小. 阅读全文
posted @ 2018-03-05 01:52 Dyleaf 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 访问者模式 概述 "访问者模式" 是一种将数据操作与数据结构分离的模式 是23中设计模式中最复杂的一个,使用频率也不是很高,但一旦需要它的时候将变得非常有用. 软件系统中拥有一个由许多对象构成的,比较稳定的对象结构.这些对象的类都拥有一个 方法用来接收访问者对象的访问. 访问者是一个接口,拥有 方法 阅读全文
posted @ 2018-03-05 01:52 Dyleaf 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 参考 "23种设计模式系列" 前言 聚集 多个对象聚在一起形成的总体称之为 聚集(Aggregate ),聚集对象是能够包容一组对象的容器对象。聚集依赖于聚集结构的抽象化,具有复杂性和多样性,数组就是最基本的聚集,也是其他Java聚集对象的设计基础。 Java聚集(Collection)对象是实现了 阅读全文
posted @ 2018-03-05 01:51 Dyleaf 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 策略模式 概述 "策略模式(Strategy)" 是一种行为型模式, 好处是我们可以动态的改变对象的行为.针对一组算法或者策略,我们可以将其抽象出来,提供一个统一的接口,不同的算法或者策略有不同的实现类, 通过注入不同的对象实现策略的动态替换,提高扩展性和维护性. 定义 策略模式定义了一系列算法,并 阅读全文
posted @ 2018-03-05 01:50 Dyleaf 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 转自http://blog.csdn.net/o279642707/article/details/60767258 概述 备忘录(Memento)模式又称标记(Token)模式。GOF给备忘录模式的定义为:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该 阅读全文
posted @ 2018-03-05 01:49 Dyleaf 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 概述 组合模式: 将对象组合成树形结构以表示:部分 整体 的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 java中的 组合 是指:在A类里定义一个B类的引用,A拥有了B,叫 组合 。只是单纯的组合而已,而不是一种设计模式。 组合和组合模式不是一回事! 基本上见到的树形结构都使用 阅读全文
posted @ 2018-03-05 01:48 Dyleaf 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式 概述 装饰模式(decorator): 表示动态的给一个对象添加一些新的功能 (利用子类继承父类也可以实现),但是比生成子类方式更灵活。 也叫装饰者模式或者装饰器模式。在理解装饰者模式最重要的就是理解组合和委托的两种思想,我们平时遇到的装饰者模式有IO集合、Android中的view等。 阅读全文
posted @ 2018-03-05 01:47 Dyleaf 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 概述 享元模式(FlyWeight): 运用共享技术有效的支持大量细粒度对象的重用。 享元对象能做到共享的关键就是区分了 内部状态 和 外部状态 。 内部状态:可以共享,不会随环境变化而变化 外部状态:不可以共享,会随环境变化而变化 使用场景 系统中存在大量的相似对象 细粒度的对象都具备较接近的外部 阅读全文
posted @ 2018-03-05 01:46 Dyleaf 阅读(205) 评论(0) 推荐(0) 编辑