随笔分类 - 设计模式
摘要:1、策略模式简介 设计模式的知识可以参考我的设计模式笔记专栏:设计模式系列博客 策略模式:定义一系列算法,然后将每一个算法封装起来,并将它们可以互相替换。也就是将一系列算法封装到一系列策略类里面。策略模式是一种对象行为型模式。策略模式符合“开闭原则“ Strategy Pattern: Define
阅读全文
摘要:[TOC] 一、GoF设计模式的分类 创建型 主要用于创建对象 结构型 主要用于处理类与对象的组合 行为型 主要用于描述类与对象怎么交互和分配职责的 1.1 创建型 抽象工厂模式(Abstract Factory) 建造者模式(Builder) 工厂方法模式(Factory Method) 原型模式
阅读全文
摘要:[TOC] 一、设计原则概述 1.1 面向对象设计原则概述: 单一职责原则(Single Responsibility Principle, SRP) 开闭原则(Open Closed Principle, OCP) 里氏代换原则(Liskov Substitution Principle, LSP
阅读全文
摘要:[TOC] 一、模式定义 解释器模式(Interpreter Pattern):定义语言的文法,并且建立一个解释器来解释改语言中的句子,这里的“语言”意思是规定格式和语法的代码,所以解释器模式是一种类行为型模式 二、模式角色 Context: 环境类 Client: 客户类 AbstractExpr
阅读全文
摘要:[TOC] 一、模式定义 命令模式(Command Pattern):将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分离,两者之间通过命令对象进行沟通,方便将命令对象进行储存、传递、调用、增加与管理。命令模式别名为动作(Action)模式或事务(Transaction)模式,属于对象行为
阅读全文
摘要:[TOC] 一、模式定义 迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor),所以迭代器模式是一种对象行为型。 二、模式角色 Iterator:抽象迭代器 ConcreteIterator:具体迭代器 Aggrega
阅读全文
摘要:[TOC] 一、模式定义 中介者模式(Mediator Pattern):中介者模式就是用一个中介对象来封装一系列的对象的交互,使各对象之间不需要显式地相互作用,降低对象之间的耦合度,中介者是一种对象行为型模式。 所以中介者模式适用于对象之间存在大量的关联的情况,假如一个对象改变了,我们就需要跟踪其
阅读全文
摘要:[TOC] 一、模式定义 备忘录模式(Memento Pattern):备忘录模式的定义是在不破坏封装的前提下,捕获一个对象的内部状态,并将该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。所以备忘录模式就是一种对象行为型模式。 二、模式角色 备忘录模式包括下面角色 Originat
阅读全文
摘要:[TOC] 模式定义 访问者模式:表示一个作用于某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。所以访问者模式是一种对象行为型模式。 模式角色 访问者模式包括如下角色: Vistor(抽象访问者) ConcreteVisitor(具体访问者) Eleme
阅读全文
摘要:@[toc] 模式定义 桥接模式(Bridge Pattern)是将抽象部分和实现部分分离,使它们可以独立地改变,是一种对象结构型模式。 模式角色 桥接模式包含如下角色: Abstraction(抽象类) RefinedAbstraction(扩充抽象类) Implementor(实现类接口) Co
阅读全文
摘要:@[toc] 模式定义 适配器模式(Adapter Pattern):将一个接口转换成客户希望的接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 模式角色 适配器模式包括如下角色 Traget(目标抽象类
阅读全文
摘要:一、模式定义 装饰模式:装饰模式就是允许向一个现有的对象添加新的功能,同时又不改变其结构,装饰模式是一种对象结构型设计模式。 二、模式角色 对于装饰模式可以分为如下角色 Component:抽象构件 ConcreteComponent:具体构件 Decorator:抽象装饰类 ConcreteDec
阅读全文
摘要:[TOC] 一、模式定义 外观模式:外观模式就是提供一个统一的接口,用来访问子系统的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。,外观模式也称门面模式,是一种对象结构型设计模式。 二、模式角色 从模式定义可以知道,外观模式应该包含如下角色: Frcade:外观角色 SubSystem:
阅读全文
摘要:[TOC] 模式定义 原型模式(Prototype Pattern):原型模式是提供一个原型接口,提供原型的克隆,创建新的对象,是一种对象创建型模式。 模式结构 原型模式包括如下角色 Prototype :抽象原型类 ConcretePrototype:具体原型类 Client:客户类 原型模式类别
阅读全文
摘要:第一章 1.1 模式定义 代理模式:代理模式就是引入一个代理对象,通过代理对象实现对原对象的引用。代理模式是一种对象结构型。 1.2 代理模式包含如下角色 Subject:抽象主题角色 Proxy:代理主题角色 RealSubject:真实主题角色 1.3 模式例子 1.4 模式类型 来自: "《设
阅读全文
摘要:[TOC] 模式意图 介绍模式定义定义之前先介绍一下组合模式的意图。其实就是将对象组合成整体 部分层次的树形结构,客户端调用时,对于调用容器对象或者说组合对象("树枝")和单个对象("树叶")是一致的。 模式定义 组合模式(Composite Pattern):组合多个对象形成树形结构来表示“整体
阅读全文
摘要:模式定义 享元模式(Flyweight Pattern)就是通过共享技术实现大量细粒度对象的复用。享元模式是通过细粒度对象的共享,所以也可以说享元模式是一种轻量级模式。按照Gof模式分类,享元模式属于对象结构型模式。 模式解释 可以共享的内容称为内部状态(Intrinsic State),需要外部环
阅读全文
摘要:模式定义 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。 模式角色 抽象工厂模式包含如下角色: AbstractFactory:抽象工厂 ConcreteFact
阅读全文
摘要:模式定义 简单工厂模式又称静态工厂模式。可以根据参数的不同返回不同类的实例。定义一个类来创建其它类的实例。 模式角色 简单工厂模式包含如下角色 Factory:工厂角色 Product:抽象产品角色 ConcreteProduct:具体产品角色 简单实例 场景应用 简单工厂模式在jdk有不少应用,比
阅读全文
摘要:一、模式定义 工厂方法模式:又称工厂模式,也叫虚拟构造器模式,属于构建型设计模式,工厂方法模式是在简单工厂模式上进行拓展,生产产品的过程由具体工厂类实现,基类只实现接口,这使得工厂方法模式可以在不修改工厂角色的情况下,引进新的产品。 工作方法模式也符合”开闭原则“。工厂方法模式也称虚拟构造器(Vir
阅读全文