设计模式
详细介绍23种模式的具体实现
钱叁壹
拼搏到无能为力,努力到感动自己!
展开
-
面试必备之代理模式
一、定义 代理模式是为其他对象提供一种代理以控制对这个对象的访问。由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。二、角色1.subject(抽象主题角色): 真实主题与代理主题的共同接口。2.RealSubject(真实主题角色): 定义了代理角色所代表的真实对原创 2020-06-26 18:05:39 · 660 阅读 · 0 评论 -
面试必备之原型模式
一、定义 Prototype模式是一种对象创建型模式,它用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。由原型对象自身创建目标对象。即对象创建这一动作发自原型对象本身。目标对象是原型对象的一个克隆。即通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。根据对象克隆深原创 2020-06-18 00:07:27 · 360 阅读 · 0 评论 -
面试必备之建造者模式
一、定义 GOF定义:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。 Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。二、角色1.建造者(Builder)原创 2020-06-13 14:40:48 · 295 阅读 · 0 评论 -
面试必备之抽象工厂模式
一、定义 抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。 工厂模式只能生产一个产品。例如:产品要么香蕉、要么苹果,但抽象工厂可以一下生产一个产品族,不同品种的苹果和香蕉。二、角色1. 抽象工厂(Creator)角色 抽象工厂模式的核心,包含原创 2020-06-12 16:30:27 · 333 阅读 · 0 评论 -
面试必备之工厂方法模式
一、定义 工厂方法模式属于类的创建型模式,又被称为多态工厂方法模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。 相比于简单工厂模式,工厂方法模式的工厂类不再负责产品的创建,而是将工厂类成为一个抽象工厂角色,仅提供具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品,符合设计模式的开放-封闭原则。二、角色原创 2020-06-12 15:19:04 · 228 阅读 · 0 评论 -
面试必备之简单工厂模式
一、定义 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式,但不属于23种FOG设计模式之一。通过专门定义一个工厂类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、角色和职能1.工厂(Creator)角色 1.简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。2.抽象(Product)角色原创 2020-06-12 11:51:26 · 654 阅读 · 0 评论 -
Strategy模式
策略模式策略模式的定义:定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。体现面向对象的两个基本特性:封装:将每个算法封装起来;多态:使用接口,而不是使用接口的实现;策略模式的组成: 抽象策略角色:策略类,通常由一个接口或者抽象类实现。 具体策略角色:包装了相关的算法和行为。 环境角色:持有一个策略类的引用,最终给客户端用的。策略模式原创 2016-01-11 23:30:55 · 307 阅读 · 0 评论 -
面试必备之如何设计线程安全的单例模式
单例模式:(Singleton):表示一个类只会生成唯一的一个实例。public class SingletonTest{public static void main(String[] args){Singleton singleton=Singleton.getIntance();Singleton singleton2=Singleton.getIntance();原创 2016-01-11 18:34:44 · 214 阅读 · 0 评论 -
设计模式分类
设计模式分类如下: 一、创建型模式(5): 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。二、结构型模式(7):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。三、行为型模式(11): 策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 ht转载 2017-01-15 20:10:54 · 266 阅读 · 0 评论