适配器
目录
接口隔离模式
- 什么是接口隔离
- 在组件构建过程中, 某些接口之间直接的依赖 常常会带来很多问题 甚至根本无法实现
- 采用添加一层间接(稳定)接口, 来隔离本来互相紧密关联的接口是一种常见的解决方案
- 典型模式
- Façade
- Proxy
- Mediator
- Adapter
动机
- 在软件系统中, 由于应用环境的变化, 常常需要将"一些现存的对象"放在新的环境中应用, 但是新环境要求的接口是这些现存对象所不满足的
- 如何应对这种"迁移的变化"? 如何既能利用现有对象的良好实现, 同时又能满足新的应用环境所要求的接口?
模式定义
- 将一个类的接口转换成客户希望的另一个接口
- Adapter模式使得由于接口不兼容而不能一起工作的那些类可以一起工作
要点总结
- Adapter模式主要应用于"希望复用一些现存的类, 但是接口又与复用环境要求不一致的情况", 在遗留代码复用、类库迁移等方面非常有用
- GoF 23 定义了两种Adapter模式的实现结构, 对象适配器和类适配器
- 不推荐使用类适配器 因为类适配器用的是多继承的方法
- 推荐使用对象适配器 因为对象适配器使用的组合方法
- Adapter模式的使用非常灵活, 不必拘泥于上述两种模式
- 例如 完全可以将Adapter模式中的现存对象作为新的接口方法参数, 来达到适配的目的