设计模式---适配器模式和外观模式

目录 1、适配器模式 2、外观模式 两种模式的比较:二者都会改变接口,适配器的意图是要转换接口,而外观的意图是要统一和简化接口。 1、当需要使用一个现有的类而其接口并不符合你的需求时,就使用适配器; 2、当需要简化并统一一个很大的接口或者一群复杂的接口时,使用外观; 3、适配器模式有两种形...

2018-08-13 19:50:05

阅读数:17

评论数:0

设计模式---代理模式与装饰者模式

目录   一、代理模式与装饰者模式对比 二、代理模式 三、装饰器模式 一、代理模式与装饰者模式对比 这两个设计模式看起来很像。对装饰器模式来说,装饰者(decorator)和被装饰者(decoratee)都实现同一个接口。对代理模式来说,代理类(proxy class)和真实处理的类(...

2018-08-12 20:58:54

阅读数:28

评论数:0

设计模式---策略模式(组合)

策略模式(通过组合封装算法,把一些特性委托给别人处理) 一、定义:定义算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。(算法也可以理解为某一行为特性) 继承的好处:让共同部分,可以复用.避免重复编程. 继承的不好:耦合性高.一旦超类添加一个新方法,子类都...

2018-08-12 20:48:23

阅读数:65

评论数:0

设计模式---抽象工厂

目录 前言 1、简单工厂 2、静态工厂 3、工厂方法模式(使用继承) 4、抽象工厂(使用组合) 前言 为什么需要工厂模式? 当使用new实例化一个类时,使用的是实现,而不是接口,代码捆绑着具体类会导致代码更脆弱缺乏弹性,使用松耦合的OO模式可以得到解脱。 1、简单工厂 简单工厂...

2018-08-12 20:17:30

阅读数:17

评论数:0

设计模式---工厂方法

工厂方式是模板方法的一个特例 工厂方法使用继承:把对象的创建委托给子类,子类实现工厂方法来创建对象。 工厂方法让类的实例化推迟到子类 // Creator是一个类,它实现了所有操纵产品的方法,但不实现工厂方法 public abstract class Creator{ voi...

2018-08-12 18:11:23

阅读数:16

评论数:0

设计模式---模板方法

目录   一、模板方法(通过继承封装算法)定义 二、特点 1、设计原则 2、应用实例(AQS) 三、模板方法的格式 一、模板方法(通过继承封装算法)定义 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类在不改变算法结构的情况下,从新定义算法中的某些步骤。 ...

2018-08-12 13:23:30

阅读数:15

评论数:0

设计模式--原型模式(用于对象的复制)

目录 一、new一个对象的步骤 二、new一个对象和复制一个对象(clone)对比 三、应用:原型模式主要用于对象的复制(clone) 1、对象复制分类 1)、浅复制 2)、深复制 2、原型模式的优点 3、原型模式的注意事项 1)、使用原型模式复制对象不会调用类的构造方法。 2...

2018-08-12 13:08:17

阅读数:24

评论数:0

设计模式---观察者模式

目录   一、基本概念 二、适用场景 三、用到的设计原则 四、demo实例 1、demo1观察者自己在主动把自己注册到被观察者中 2、demo2被观察者主动添加观察者 一、基本概念 观察者模式属于行为型模式,其意图是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所...

2018-08-12 12:40:45

阅读数:20

评论数:0

设计模式总览

一、总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令...

2018-08-11 23:34:55

阅读数:20

评论数:0

设计模式---单例模式

一、定义:单例对象的类必须保证只有一个实例存在 二、单例模式特点: 1、一个私有构造器、一个静态变量、一个静态方法获得实例; 2、当有多个类加载器加载的时候还是会出现多个对象,可以指定加载器来解决; 3、不可继承单件类(因为构造器私有) 单件的应用:线程池,注册表,数据库连接池 三、分类 对...

2018-07-29 00:18:48

阅读数:42

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭