目录

适配器

接口隔离模式

  1. 什么是接口隔离
    • 在组件构建过程中, 某些接口之间直接的依赖 常常会带来很多问题 甚至根本无法实现
    • 采用添加一层间接(稳定)接口, 来隔离本来互相紧密关联的接口是一种常见的解决方案
  2. 典型模式
    • Façade
    • Proxy
    • Mediator
    • Adapter

动机

  1. 在软件系统中, 由于应用环境的变化, 常常需要将"一些现存的对象"放在新的环境中应用, 但是新环境要求的接口是这些现存对象所不满足的
  2. 如何应对这种"迁移的变化"? 如何既能利用现有对象的良好实现, 同时又能满足新的应用环境所要求的接口?

模式定义

  1. 将一个类的接口转换成客户希望的另一个接口
  2. Adapter模式使得由于接口不兼容而不能一起工作的那些类可以一起工作

要点总结

  1. Adapter模式主要应用于"希望复用一些现存的类, 但是接口又与复用环境要求不一致的情况", 在遗留代码复用、类库迁移等方面非常有用
  2. GoF 23 定义了两种Adapter模式的实现结构, 对象适配器和类适配器
    • 不推荐使用类适配器 因为类适配器用的是多继承的方法
    • 推荐使用对象适配器 因为对象适配器使用的组合方法
  3. Adapter模式的使用非常灵活, 不必拘泥于上述两种模式
    • 例如 完全可以将Adapter模式中的现存对象作为新的接口方法参数, 来达到适配的目的