随笔分类 - 设计模式
摘要:1、概念 职责链模式为为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它,属于行为型模式。 2、模式结构 抽象处理者(Handler)角色:定义出一个处理请求的接口;如果需要,接口可以定义 出一个方法以设定和返回对
阅读全文
摘要:1、概念 状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它所属的类,属于行为型模式。 2、模式结构 环境角色(Context):定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具体状态类的实例给出此环境对象的现有状态。 抽象状态角色(State):定义一个接口,
阅读全文
摘要:1、概念 解释器模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子,属于行为型模式。但其在实际的系统开发中使用的很少,因为他会引起效率、性能以及维护等问题 2、模式结构 抽象解释器(AbstractExpression):声明一个所有的具体表达式角色都需
阅读全文
摘要:1、概念 备忘录模式在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便恢复到原先保存的状态,属于行为型模式。 2、模式结构 发起人角色(Originator):记录当前时刻的内部状态,负责定义哪些属于备份的状态,负责创建和恢复备忘录数据 备忘录角色(Memento):负责
阅读全文
摘要:1、概念 中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,属于对象行为型模式一种。 2、模式结构 Mediator: 抽象中介者,定义一个接口,该接口用于与各同事对象之间进行通信 ConcreteMediator
阅读全文
摘要:1、概念 访问者模式封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作,属于行为型模式一种。 2、模式结构 Visitor(抽象访问者):抽象访问者为对象结构中每一个具体元素类ConcreteElement声明一个访问操作,从这个操作的名称或参
阅读全文
摘要:1、概念 迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示,属于行为模式的一种 2、模式结构 抽象迭代器(Iterator):此抽象角色定义出遍历元素所需的接口 具体迭代器(ConcreteIterator):此角色实现了Iterator接口,并保持迭代过程中的游标
阅读全文
摘要:1、概念 命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作,属于行为型模式的一种。 2、模式结构 Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令。 Concre
阅读全文
摘要:1、概念 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 2、模式结构 抽象类(AbstractClass): 定义一组基本方法供子类实现,定义并实现
阅读全文
摘要:1、概念 代理模式为其他对象提供一个代理以控制对这个对象的访问,属于结构性模式。从代码的角度来分,代理可以分为两种:一种是静态代理,另一种是动态代理。 静态代理就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。 动态代理类的源码是在程序运行期间根据反射等机制动态的生
阅读全文
摘要:1、概念 享元模式是运用共享技术有效地支持大量细粒度的对象,系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用,属于结构性模式。 2、模式结构 Flyweight: 抽象享元类,所有具体享元类的超类或者接口,通过这个接口,Flyweight可以接受并作用于外部专题 Con
阅读全文
摘要:1、概念 外观模式是外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,属于对象结构型模式。 2、模式结构 Facade(Controller): 外观角色,客户端通过操作外观角色从而达到控制子
阅读全文
摘要:1、概念 组合模式将对象组合成树形结构以表示“部分 整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性,属于结构性模式。 2、模式结构 Component:组合中的对象声明接口,实现所有类共有接口的默认行为,声明一个接口用于访问和管理Component子部件 Leaf:叶子对象,叶子结
阅读全文
摘要:1、概念 装饰模式动态地给一个对象添加一些额外的职责。就扩展功能而言,它比生成子类方式更为灵活,属于结构性模式一种。 2、模式结构 抽象组件角色(Component):定义一个对象接口,以规范准备接受附加责任的对象,即可以给这些对象动态地添加职责。 具体组件角色(ConcreteComponent)
阅读全文
摘要:1、概念 桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化,属于结构性模式的一种。 2、模式结构 Abstraction(抽象类):定义抽象接口,拥有一个Implementor类型的对象引用,它与 Implementor 之间具有关联关系 RefinedAbstraction(扩充抽象类
阅读全文
摘要:1、概述 适配器模式将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,属于结构型模式。 2、模式结构 Target:目标抽象类,定义客户所需的接口,可以是一个抽象类或接口,也可以是具体类 Adapter:适配器类,可以调用另一个接
阅读全文
摘要:1、概念 原型模式一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节。在实际应用中,原型模式很少单独出现。经常与其他模式混用,他的原型类Prototype也常用抽象类来替代。 2、模式结构 抽象原型(Prototype)角色:是一个抽象角色,此角色给出所有的具
阅读全文
摘要:1、概念 建造者模式可以叫生成器模式,属于创建型模式,它是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。 2、模式结构 Builder:为创建一个Product对象的各个部件指定抽象接口 ConcreteBuilder
阅读全文
摘要:1、概念 工厂方法模式是创建型模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。 2、模式结构 ILog:抽象产品,是具体产品继承的父类或者是实现的接口。 FileLog/DatabaseLog:具体产品,具体工厂角色所创建的对象就是此角色的实例。 IL
阅读全文
摘要:1、概念 简单工厂模式属于创建型模式,但不属于23种GOF设计模式之一,称为静态工厂方法(Static Factory Method)模式,可以根据参数的不同返回不同的类实例。 2、模式结构 Factory(工厂角色):负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建
阅读全文

浙公网安备 33010602011771号