zoukankan      html  css  js  c++  java
  • PHP设计模式—代理模式

    定义:

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

     

    结构:

    • Subject:subject 类,定义了 RealSubject 和 Proxy 的共用接口,这样就在任何使用 RealSubject的地方都可以使用 Proxy。
    • RealSubject:RealSubject 类,定义 Proxy 所代表的真实实体。
    • Proxy:实现Subject 接口并在内部引用了 RealSubject。
    • Client:客户端代码。

     

    代码实例:

    /**
     * Subject.php
     * Interface Subject
     */
    interface Subject
    {
        public function request();
    }
    
    
    /**
     * RealSubject.php
     * Class RealSubject
     */
    class RealSubject implements Subject
    {
        /**
         * 真实请求方法具体实现
         */
        public function request()
        {
            // TODO: Implement request() method.
            echo "真实的请求<br/>
    ";
        }
    }
    
    
    /**
     * Proxy.php
     * Class Proxy
     */
    class Proxy implements Subject
    {
        /**
         * @var RealSubject
         */
        protected $realSubject;
    
        /**
         * Proxy constructor.
         */
        public function __construct()
        {
            $this->realSubject = new RealSubject();
        }
    
        /**
         * 调用真实请求方法
         */
        public function request()
        {
            // TODO: Implement request() method.
            $this->realSubject->request();
        }
    }

    客户端调用:

    $proxy = new Proxy();
    $proxy->request();
  • 相关阅读:
    IIS: Idle Timeout vs Recycle
    Window.location
    Web technology for developersSee Web APIsStorage
    Know the basics about NTFS permissions
    设置描述性弹性域某个字段为只读
    adb root
    nvme WVLOCK
    模拟器获取root权限
    Android模拟器emulator基本使用技巧和命令
    人工智能可以产生自主意识吗
  • 原文地址:https://www.cnblogs.com/woods1815/p/13846511.html
Copyright © 2011-2022 走看看