美文网首页
PHP设计模式-代理

PHP设计模式-代理

作者: 木有sky | 来源:发表于2019-02-17 10:09 被阅读0次

适用性

对对象加以【控制】

和适配器的区别:适配器是连接两个接口(【改变】了接口)

和装饰器的区别:装饰器是对现有的对象包装(【功能扩展】

代码示例

/**

* 鞋接口

*/

interface ShoesInterface

{

    public function product();

}

/**

* 滑板鞋实体

*/

class ShoesSkateboard implements ShoesInterface

{

    public function product()

    {

        echo "生产一滑板鞋";

    }

}

/**

* 运动鞋实体

*/

class ShoesSport implements ShoesInterface

{

    public function product()

    {

        echo "生产一双球鞋";

    }

}

/**

* 代理工厂

*/

class Proxy

{

    /**

    * 产品生产线对象

    */

    private $_shoes;

    /**

    * 产品生产线类型

    */

    private $_shoesType;

    /**

    * 构造函数.

    */

    public function __construct($shoesType)

    {

        $this->_shoesType = $shoesType;

    }

    /**

    * 生产.

    */

    public function product()

    {

        switch ($this->_shoesType) {

            case 'sport':

                echo "我可以偷点工";

                $this->_shoes = new ShoesSport();

                break;

            case 'skateboard':

                echo "我可以减点料";

                $this->_shoes = new ShoesSkateboard();

                break;

            default:

                throw new Exception("shoes type is not available", 404);

                break;

        }

        $this->_shoes->product();

    }

}

try {

    echo "未加代理之前:\n";

    // 生产运动鞋

    $shoesSport = new ShoesSport();

    $shoesSport->product();

    echo "\n--------------------\n";

    //-----------------------------------

    echo "加代理:\n";

    $proxy = new Proxy('sport');

    $proxy->product();

} catch (\Exception $e) {

    echo $e->getMessage();

}

相关文章

  • PHP设计模式(九)-代理模式

    layout: posttitle: "PHP设计模式(九)-代理模式"date: 2016-06-07 23:3...

  • php设计模式——代理模式

    代理模式 介绍 在客户端与实体之间建立一个代理对象(proxy),客户端对实体进行操作全部委派给代理对象,隐藏实体...

  • PHP设计模式:代理模式

    前言 代理模式为其他对象提供一种代理以控制对这个对象的访问。以下代码为”云扫墓“,又称”代理扫墓“。 需要一块墓地...

  • PHP设计模式-代理

    适用性 对对象加以【控制】 和适配器的区别:适配器是连接两个接口(【改变】了接口) 和装饰器的区别:装饰器是对现有...

  • php设计模式之代理模式

    代理模式 也叫做委托模式,为其它对象提供一种代理以控制对这个对象的访问代理模式的几种类型:1,远程代理,也就是为了...

  • php设计模式(十)代理模式

    代理模式 在客户端和实体之间建立一个代理对象(proxy),客户端对实体进行操作全部委派给代理对象,隐藏具体的实现...

  • 10、结构型模式-代理设计模式

    1、加盟商来啦-你需要掌握的代理设计模式 简介:讲解代理设计模式,让代理帮你完成工作 代理设计模式(Proxy P...

  • 《PHP设计模式大全》系列分享专栏

    php设计模式介绍之编程惯用法第1/3页 php设计模式介绍之值对象模式第1/5页 介绍php设计模式中的工厂模式...

  • 设计模式之代理模式

    设计模式之代理模式 10分钟看懂动态代理设计模式(升级篇)-对这篇动态代理模式的思路整理 仿JDK实现动态代理逻辑...

  • 模板方法设计模式(Template Method)

    最易懂设计模式解析适配器设计模式Mybatis代理设计模式Mybatis多级代理 1. 认识模板方法模式 1.1 ...

网友评论

      本文标题:PHP设计模式-代理

      本文链接:https://www.haomeiwen.com/subject/jirieqtx.html