longshu

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2016年12月28日

摘要: Memento 备忘录模式备忘录模式: 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态, 这样可以在以后将对象恢复到原先保存的状态。它是一种对象行为型模式,其别名为Token。结构图: 示例类图: 示例代码:public class Originator ... 阅读全文
posted @ 2016-12-28 18:26 longshu 阅读(158) 评论(0) 推荐(0) 编辑

摘要: Command 命令模式命令模式: 将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化; 对请求排队或者记录请求日志,以及支持可撤销的操作。 命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。结构图: 示例类图: 示... 阅读全文
posted @ 2016-12-28 18:26 longshu 阅读(249) 评论(0) 推荐(0) 编辑

摘要: Chain Of Responsibility 职责链模式职责链模式: 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着个链传递请求,直到有一个对象处理为止。 发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得... 阅读全文
posted @ 2016-12-28 18:25 longshu 阅读(110) 评论(0) 推荐(0) 编辑

摘要: Iterator 迭代器模式迭代器模式: 提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。 迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。 这句话... 阅读全文
posted @ 2016-12-28 18:24 longshu 阅读(87) 评论(0) 推荐(0) 编辑

摘要: Observer 观察者模式观察者模式: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式是一种对象行为型模式。观察者模式的别名包括: 发布-订阅(Publish/... 阅读全文
posted @ 2016-12-28 18:24 longshu 阅读(150) 评论(0) 推荐(0) 编辑

摘要: TemplateMethod 模板方法模式模板方法模式: 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式。 模板方法模式是结构最简单的... 阅读全文
posted @ 2016-12-28 18:23 longshu 阅读(107) 评论(0) 推荐(0) 编辑

摘要: Strategy 策略模式策略模式: 也称为政策模式(Policy)。策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。 这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有算法, 减少各种算法类与使用类之间... 阅读全文
posted @ 2016-12-28 18:23 longshu 阅读(167) 评论(0) 推荐(0) 编辑

摘要: Flyweight 享元模式享元模式模式: 享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销, 意图在于运用共享技术有效地支持大量细粒度的对象。 由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。 通... 阅读全文
posted @ 2016-12-28 18:22 longshu 阅读(122) 评论(0) 推荐(0) 编辑

摘要: Bridge 桥接模式桥接模式: 桥接模式把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。 又称为柄体(Handle and Body)模式或接口(Interface)模式。 事物对象仅是一个抽象的概念。 用意就在将抽象化与实现化解耦,使得二者可以独立变化。动机... 阅读全文
posted @ 2016-12-28 18:22 longshu 阅读(137) 评论(0) 推荐(0) 编辑

摘要: Composite 组合模式组合模式: 允许你将对象组合成树形结构来表现”整体-部分”层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合。 组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。 组合模式又可以称为 整体—部分(Part-Whole)模... 阅读全文
posted @ 2016-12-28 18:21 longshu 阅读(137) 评论(0) 推荐(0) 编辑

摘要: Facade 外观模式外观模式: 是软件工程中常用的一种软件设计模式,它为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用。 外观模式是为了解决类与类之间的依赖关系的,就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中一般不涉及到接口。示例类图... 阅读全文
posted @ 2016-12-28 17:40 longshu 阅读(113) 评论(0) 推荐(0) 编辑

摘要: Proxy 代理模式代理模式: 给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。 在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。 代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去... 阅读全文
posted @ 2016-12-28 17:39 longshu 阅读(133) 评论(0) 推荐(0) 编辑

摘要: Decorator 装饰模式装饰模式: 装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。 就功能而言,修饰... 阅读全文
posted @ 2016-12-28 17:38 longshu 阅读(80) 评论(0) 推荐(0) 编辑

摘要: Adapter 适配器模式适配器: 也称包装样式或者包装(wrapper)。将一个类的接口转接成用户所期待的。 一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 类... 阅读全文
posted @ 2016-12-28 17:35 longshu 阅读(127) 评论(0) 推荐(0) 编辑

摘要: Prototype 原型模式原型模式: 原型模式是创建型模式的一种,其特点在于通过「复制」一个已经存在的实例来返回 新的实例,而不是新建实例。被复制的实例就是我们所称的「原型」,这个原型是可 定制的。 原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在 的实例... 阅读全文
posted @ 2016-12-28 17:29 longshu 阅读(89) 评论(0) 推荐(0) 编辑

摘要: Builder 建造者模式建造者模式: 建造者模式主要是用于创建一些复杂的对象,这些对象内部构建间的建造顺序是稳 定的,但是对象内部的构建通常面临着复杂的变化。 好处就是使得建造代码与表示代码分离,由于建造者隐藏了改产品是 如何组装的,所以若需要改变一个产品的内部表示,只需要再定义... 阅读全文
posted @ 2016-12-28 17:27 longshu 阅读(91) 评论(0) 推荐(0) 编辑

摘要: Singleton 单例模式单例模式:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。好处:某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。省去了new操作符,降低了系统内存的使用频率,减轻GC压力。有些类如交易所的核心... 阅读全文
posted @ 2016-12-28 17:23 longshu 阅读(117) 评论(0) 推荐(0) 编辑

摘要: Abstract Factory 抽象工厂模式抽象工厂模式: 也称为Kit模式,它和工厂方法模式的区别就在于需要创建对象的复杂程度上。而且抽象工厂模式是三个里面最为抽象,最具一般性的。 抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象。 抽象工厂模式与工... 阅读全文
posted @ 2016-12-28 17:21 longshu 阅读(91) 评论(0) 推荐(0) 编辑

摘要: Factory Method 工厂方法模式工厂方法模式:核心,定义一个创建对象的接口/抽象类,让子类来决定实例化哪一个类,使实例化延迟到子类。 当有新的产品产生时,只要按照产品接口和工厂接口来生成,就可以被客户端使用,而不必改码. 所以工厂方法模式是完全符合开闭原则的。工厂方法克服... 阅读全文
posted @ 2016-12-28 17:15 longshu 阅读(104) 评论(0) 推荐(0) 编辑

摘要: Simple Factory 简单(静态)工厂模式简单工厂模式: 含有一定的商业逻辑和判断逻辑,根据逻辑不同,产生具体的工厂产品,对于客户端去除了对具体产品的依赖. 对产品来说它是符合开闭原则的——对扩展开放,对修改关闭; 但是每增加一个产品,都要在工厂类中增加相应的商业逻辑和判 ... 阅读全文
posted @ 2016-12-28 17:13 longshu 阅读(89) 评论(0) 推荐(0) 编辑