码迷,mamicode.com
首页 > Web开发 > 详细

PHP设计模式 - 适配器模式

时间:2018-06-25 22:45:56      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:inter   eth   重构   highlight   +++   角色   输出   模式   IV   

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

 

<?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设计模式 - 适配器模式

标签:inter   eth   重构   highlight   +++   角色   输出   模式   IV   

原文地址:https://www.cnblogs.com/taozi32/p/9226510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!