【php设计模式】适配器模式

  适配器模式(对象适配器、类适配器): 

  将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。

  在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的集合。
  角色:
  Target(目标抽象类)
    目标抽象类定义客户所需的接口,可以是一个抽象类或接口,也可以是具体类。
  Adapter(适配器类)
    它可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配。它是适配器模式的核心。
  Adaptee(适配者类)
    适配者即被适配的角色,它定义了一个已经存在的接口,这个接口需要适配,适配者类包好了客户希望的业务方法。

对象适配器:

interface Target{
    public function MethodOne();
    public function MethodTwo();
}

class Adaptee{
    public function MethodOne(){
        echo "+++++++++\n";
    }
}

class Adapter implements Target{
    private $adaptee;
    public function __construct(Adaptee $adaptee){
        $this->adaptee = $adaptee;
    }

    public function MethodOne(){
        $this->adaptee->MethodOne();
    }

    public function MethodTwo(){
        echo "------------";
    }
}

$adaptee = new Adaptee();
$adapter = new Adapter($adaptee);
$adapter->MethodOne();

 

类适配器:

class Adapter2 extends Adaptee implements Target{
    public function MethodTwo(){
        echo "-----------";
    }
}
$adapter2 = new Adapter2();
$adapter2->MethodOne();

 

转载于:https://www.cnblogs.com/itsuibi/p/10949217.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值