设计模式 设计模式之(八):代理设计模式

代理模式章节简要

一.定义

为其他对象提供一种代理,以控制这个对象的访问

二.使用场景

  • 1.保护目标对象
  • 2.增强目标对象

三.优缺点

1.优点
  • 将代理对象与目与真实的被调用的目标对象分离
  • 一定程度上降低了系统的耦合度,扩展性好
  • 保护目标对象
    2.缺点
  • 造成系统设计中类的数目增加
  • 在客户端和目标对象增加一个代理对象,会造成请求处理速度变慢
  • 增加了系统的复杂度

四.角色

  • 代理对象:类似于中介
  • 目标对象:被代理的对象
  • 客户端:调用端

五.

设计模式 设计模式之(七):外观设计模式

外观模式章节概要

一.定义

提供一个统一的接口,用来访问子系统的一群接口(也称门面模式)

简单来说:有一个统一的对外口径,它的实现可能调用了很多子系统的接口

二.适用场景

  • 子系统越来越复杂,增加外观模式提供简单调用接口
  • 构建多层系统结构,利用外观对象作为每层的入口,简化层间调用

三.优缺点

1.优点
  • 简化调用过程,无需了解、深入子系统,防止带来风险
  • 减少系统依赖、松散耦合
  • 更好的划分访问层次
2.缺点
  • 增加子系统、扩展子系

设计模式 设计模式之(六):原型设计模式

原型模式对应的内容概要

一.定义

原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象

二.特点

不需要知道任何创建的细节,不调用构造函数

三.使用场景

  • 类初始化消耗较多资源
  • 类产生的一个对象需要非常繁琐的过程
  • 构造函数比较复杂(如属性比较多)
  • 循环体中生产大量相同类的对象时

四、优缺点

1.优点
  • 比直接new一个对象性能高
  • 简化创建过程
2.缺点
  • 必须配备clone方法
    • 实现Cloneable接口
    • 覆盖Object类的clo

设计模式 设计模式之(五):建造者设计模式

建造者模式概要

一.定义

将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示

二.使用场景

  • 1.一个对象有非常复杂的内部结构(有很多属性)
  • 2.想把复杂对象的创建和使用分离

三.优缺点

1.优点
  • 1.封装性好,创建和使用分离
  • 2.扩展性好、建造类之间分离、一定程度上解耦
2.缺点
  • 1.产生多余的Builder对象
  • 2.产品结构发生变化,建造者都要修改,成本较大

四.角色

  • 产品 : 具体的产品类
  • 产品建造者