适配器模式:将类的接口转换成客户希望的接口,使得原本由于接口不兼容的类可以一起工作。。
适配器模式 Adapter
适配器模式使得接口不兼容的两个类能在一起工作,通俗易懂的例子就是电源适配器。
- 系统中已经存在的类(遗留代码,或者没有源码等),接口并不符合当前需求,使用适配器适配,最大程度上保持代码重用
- 需要统一的输出接口,但是输入类型不可知
类图结构
结构解析
Target
客户端期望的接口类。Adaptee
原有的类,或者被适配的类。Adapter
适配器模式,适配类,用来将Adaptee
转换为Target
期望的接口。Client
客户端,接口调用者。
示例
1 | // 1. Target |
总结
- 优点
可以将目标类和被适配类解耦,引入适配器类并重用代码;增加了类的透明性和复用性。 - 缺点
Java
不支持多重继承,也就是每次只能适配一个类。
参考文档
- 大话设计模式
Android
源码设计模式解析与实战- 适配器模式