设计模式-13.适配器模式

214 阅读1分钟

一句话总结

将一个类的接口转换成客户希望的接口,适配器模式使原本接口不兼容的类可以一起工作。

例如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。