适配器模式

  适配器模式(Adapter Pattern),把一个类的接口变换成客户端所期待的另一种接口, Adapter模式使原本因接口不匹配(或者不兼容)而无法在一起工作的两个类能够在一起工作。又称为转换器模式、变压器模式、包装(Wrapper)器模式(把已有的一些类包装起来,使之能有满足需要的接口)。
  适配器模式有两种实现方式:继承的方式和组合的方式。
  组合方式:

组合实现适配器模式

  php代码示例:

<?php
class Target{
    function Request(){
        print "common";
    }
}
class Adaptee{
    function SpecificRequest(){
        print "specific";
    }
}
class Adapter{

    function __construct($ade){
        $this->ade = $ade;
    }
    function Request(){
        $adaptee = $this->ade->SpecificRequest();
    }
}

$ade = new Adaptee();
$adt = new Adapter($ade);
$adt->Request();

?>

  继承方式:

继承实现适配器模式

  php代码示例:

<?php
interface TargetInterface{
    function Request();
}
class Target implements TargetInterface{
    function Request(){
        print "common";
    }
}
class Adaptee{
    function SpecificRequest(){
        print "specific";
    }
}
class Adapter extends Adaptee implements TargetInterface{

    function __construct(){
    }
    function Request(){
        $this->SpecificRequest();
    }
}

$ade = new Adaptee();
$adt = new Adapter();
$adt->Request();

?>
原文地址:https://www.cnblogs.com/zhutianpeng/p/4232081.html