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

  • 相关阅读:
    CSP-S 2021游记
    logback-spring.xml配置
    springboot编译的命令
    Springboot 常用注解
    logback如何配置springboot框架
    如何使用IDEA快速创建一个springboot项目
    slf4j、log4j、 logback关系详解和相关用法
    SSM整合及Maven pom.xml
    OO第四单元总结
    OO第三单元总结
  • 原文地址:https://www.cnblogs.com/moxiaoan/p/6252870.html
Copyright © 2011-2022 走看看