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

    代理模式:为其他对象提供一种代理以控制对这个对象的访问。

    代理模式中主要角色

    抽象主题角色:声明了代理主题和真实主题的公共接口,使任何需要真实主题的地方都能用代理主题代替。

    代理主题角色:含有真实主题的引用,从而可以在任何时候操作真实主题,代理主题功过提供和真实主题相同的接口,使它可以随时代替真实主题。代理主题通过持有真实主题的引用,不但可以控制真实主题的创建或删除,可以在真实主题被调用前进行拦截,或在调用后进行某些操作。

    真实代理对象:定义了代理角色所代表的具体对象。

    interface Person{
        public function playGame();
        public function kill();
    }
    
    class Gaoshou implements Person {           # 代理主题角色
    
        public function playGame(){
            echo "我是王者<br/>";
        }
    
        public function kill(){
            echo "penta kill<br/>";
        }
    }
    
    
    class Proxy  implements Person {              # 代理
        protected $obj;
    
        public function __construct(Person $obj)
        {
            $this->obj = $obj;
        }
    
        public function playGame()
        {
            $this->obj->playGame();
        }
    
        public function kill()
        {
            $this->obj->kill();
        }
    }
    
    $obj = new Proxy(new Gaoshou());
    $obj->playGame();
    $obj->kill();
    

    输出:

    我是王者
    penta kill

  • 相关阅读:
    将十六进制数组转换为字符串
    TEA(Tiny Encryption Algorithm)
    Install Atom editor in ubuntu 14.04
    Install Sublime Text 3
    测试键盘的控制字符对应的ASCII码值
    Linux 文件访问权限
    Linux 关机命令
    数据创建命令
    关键词
    MySQL命令总汇
  • 原文地址:https://www.cnblogs.com/moxiaoan/p/6252870.html
Copyright © 2011-2022 走看看