一句话总结
将一个类的接口转换成客户希望的接口,适配器模式使原本接口不兼容的类可以一起工作。
例如Mob sdk将不同平台的登录分享接口统一封装,就是采用的适配器模式。
适配器模式示例代码
static func main() {
let target: Target = Adapter()
target.request()
}
protocol Target {
func request()
}
class Adaptee {
func specificRequest() {
print("特殊操作")
}
}
class Adapter: Target {
let adaptee = Adaptee()
func request() {
adaptee.specificRequest()
}
}
何时使用
- 主要应用于想复用现存的一些类,但是接口又与复用环境不一致的情况。
- 两个类或者SDK功能类似,比如第三方分享SDK的API都不一样。就可以用适配器模式统一API。