美文网首页
理解外观模式,装饰者模式

理解外观模式,装饰者模式

作者: pepsi1000 | 来源:发表于2019-08-08 16:41 被阅读0次

1. 外观模式

也叫面门模式。

1.1. PROS

  • 在客户端与子系统之间实现解耦。
  • 简化调用过程,客户端无需关系子系统细节,符合迪米特原则。

1.2. CONS

  • 不符合开闭原则
  • 扩展新的子系统时存在风险

1.3. 区别

中介者模式关心子系统间的交互,而外观模式关心客户端与子系统之间的交互。

1.4. 源码案例

  • Spring#JdbcUtils
  • Mybatis#Configuration
  • tomcat#RequestFacade

2. 装饰者模式

用途:扩展一个类的功能。支持动态添加功能,动态撤销功能。

2.1. PROS

  • 比继承更加灵活
  • 装饰类之间支持排列祝贺
  • 符合开闭原则

2.2. CONS

  • 提升程序的复杂性

2.3. 区别

代理模式关心控制访问类的权限,而装饰者模式关系增强类地行为。

装饰者模式和适配器模式都可以叫包装模式Wrapper,但它们两个关心点不同,适配器模式关心接口之间的转换。

2.4. 装饰者是否需要为抽象类?

当业务要求子类必须实现抽象父类(装饰者)的某些抽象方法时,装饰者就需要是抽象类。

2.5. 源码案例

  • FilterInputStream
  • Spring#TransactionAwareCacheDecorator
  • HttpServletRequestWrapper
  • Mybatis#Cache

相关文章

  • 理解外观模式,装饰者模式

    1. 外观模式 也叫面门模式。 1.1. PROS 在客户端与子系统之间实现解耦。 简化调用过程,客户端无需关系子...

  • 设计模式之结构型模式(下)

    上篇已经介绍了适配器模式、桥接模式和组合模式,这篇将介绍装饰者模式、外观模式、享元模式和代理模式。 装饰者(Dec...

  • 设计模式目录

    观察者模式 策略模式 装饰者模式 工厂方法模式 单例模式 命令模式 适配器模式与外观模式 模板方法模式 迭代器与组...

  • Retrofit源码解析

    设计模式:建造者模式、工厂方法模式、外观模式、代理模式、单例模式、策略模式、装饰模式、适配器模式、代理模式 一、R...

  • java23种设计模式

    创建型 抽象工厂模式工厂方法建造者模式原型模式单态模式 结构型 适配器模式桥接模式组合模式外观模式装饰者模式享元模...

  • 设计模式:结构型

    享元模式 (Pools,Message) 代理模式 适配器模式 :类适配器和对象适配器 装饰者模式 外观模式 桥接...

  • Java设计模式

    1.策略模式 2.观察者模式 3.装饰者模式 4.工厂模式 5.单件模式 6.命令模式 7.适配器模式与外观模式 ...

  • 2.设计模式用例(二)

    备忘录模式 2.装饰器模式 外观模式 State Pattern

  • 如何利用装饰者模式在不改变原有对象的基础上扩展功能

    目录 什么是装饰者模式 普通示例 装饰者模式示例 类图关系 装饰者模式使用场景 装饰者模式优点 装饰者模式缺点 什...

  • Android常见设计模式汇总

    创建型模式5种:单例模式工厂模式原型模式建造者模式结构型模式7种:适配器模式桥接模式装饰模式组合模式外观模式享元模...

网友评论

      本文标题:理解外观模式,装饰者模式

      本文链接:https://www.haomeiwen.com/subject/ddaxjctx.html