适配器模式又分有对象适配器模式和类适配器模式,其类图如下所示
OC中的委托delegate也是一种对象适配器模式
协议为target,指出了客户端希望有的接口,而实现了协议的具体类就是适配器
客户端定义了协议内容(即客户端想要的接口),以及客户端中的delegate对象后期会指向适配器对象,而适配器对象中也可以根据具体情况应用被适配对象(Adaptee)的引用或直接成为其子类。
块(block
)下的适配器模式
block相当于客户端的期望接口,而实现了的block本身就如同一个适配器,客户端可以调用block的方法, 而适配器的实现可以在被适配者类中,那么适配器被赋值后(定义后),其作为适配者,同时也在被适配者中,那么就可以调用被适配者的内部接口