什么是适配器模式,它是什么利用场景
适配器模式
适配器模式很容易懂得,从字面意思就知道是用来做适配的。他的作用是将本来不兼容的接口转换为客户盼望的接口,使得本来由于接口不兼容而不克不及一起工作的类能够一起工作。用日常生活中的例子来说明,我们知道手机充电口有好多种,iphone的、安卓的大孔乃至小孔,经常我们手机没电借了一个充电器,发明不兼容我们本人的手机孔。此刻市场有有充电器的转换头,有了转换头,我们就能够去把手机充电了。
适配器里面三种角色:目标抽象类(Target)、适配者(Adaptee)、适配器(Adaptor)
类适配器乃至对象适配器
适配器又分为类适配器乃至对象适配器,下面我们通过一个例子来讲解。
下面是类适配器的例子:
class ITarget { function f1(); function f2(); function f3(); } class Adaptee { public function f1(){……}; public function f2(){……}; public function a(){……}; } // 类适配器,基于继承 class Adaptor extends Adaptee { public function f3 () { // 从新实现f3 } }
下面是对象适配器的例子
class ITarget { function f1(); function f2(); function f3(); } class Adaptee { public function a1(){……}; public function b1(){……}; public function c1(){……}; } // 对象适配器,基于组合 class Adaptor { private $adaptee = null; public function __contrust (Adaptee $adaptee) { $this->adaptee = $adaptee; …… } public function f1() { $this->adaptee->a1(); } public function f2() { // 从新实现f2 } public function f3 () { $this->adaptee->a3(); } }
针对这两种实现方式,我们应当去怎样选中。假如适配者中绝大部分的办法,都可以复用,那么就选中使用类适配器,不然使用对象适配器。对象适配器愈加灵敏。
利用场景
下面来介绍下适配器的主要使用处景
封装有缺陷的接口设计
统一多个类的接口设计,比方一个支付系统,有三种不一样的支付方式,微信支付、支付宝支付、网银支付,这三种支付的实现办法都不一样,那么我们可以用适配器模式,让他们对外具有统一的办法,这样,我们在调取的时候就非常的利便。
兼容老版本的接口,这个在我们系统升级中经常会用到。
以上就是啥是适配器模式,它是什么利用场景的具体内容,更多请关注百分百源码网其它相关文章!