PHP设计模式 - 适配器模式

Posted Share112

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP设计模式 - 适配器模式相关的知识,希望对你有一定的参考价值。

这种模式允许使用不同的接口重构某个类,可以允许使用不同的调用方式进行调用:

 

<?php
/**
 * 第一种方式:对象适配器
 */
interface Target {
    public function sampleMethod1();
    public function sampleMethod2();
}

class Adaptee {
    public function sampleMethod1() {
        echo ‘++++++++‘;
    }
}

class Adapter implements Target {
    private $_adaptee;

    public function __construct(Adaptee $adaptee) {
        $this->_adaptee = $adaptee;
    }

    public function sampleMethod1() {
        $this->_adaptee->sampleMethod1(); 
    }

    public function sampleMethod2() {
        echo ‘————————‘; 
    }
}
$adapter = new Adapter(new Adaptee());
$adapter->sampleMethod1();//输出:++++++++
$adapter->sampleMethod2();//输出:————————



/**
 * 第二种方式:类适配器
 */
interface Target2 {
    public function sampleMethod1();
    public function sampleMethod2();
}

class Adaptee2 { // 源角色
    public function sampleMethod1() {echo ‘++++++++‘;}
}

class Adapter2 extends Adaptee2 implements Target2 { // 适配后角色
    public function sampleMethod2() {echo ‘————————‘;} 
}

$adapter = new Adapter2();
$adapter->sampleMethod1();//输出:++++++++
$adapter->sampleMethod2();//输出:————————
?>

 

以上是关于PHP设计模式 - 适配器模式的主要内容,如果未能解决你的问题,请参考以下文章

PHP设计模式之适配器模式

php设计模式--工厂模式

PHP设计模式——适配器模式

PHP设计模式之适配器模式

php PHP片段保存模式

PHP设计模式-适配器模式