浅谈PHP设计模式的代理模式

打印 上一主题 下一主题

主题 562|帖子 562|积分 1686

简介:

代理模式,是结构型的设计模式。用于为其它对象提供一种代理以控制对这个对象的访问。
目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象,并且可以在不改变目标对象的情况下添加一些额外的功能。
适用场景:


  • 调用端不想或不能直接调用的对象。
  • 服务端不想让调用端看到核心实现。
优点:


  • 服务端与调用端分离,防止服务端代码与调用端直接关联,降低耦合。
  • 保护目标对象。
缺点:


  • 增加类的数量,增加代码复杂度。
  • 额外且非必要的类,会造成资源损耗。
代码
  1. //被代理的抽象接口
  2. interface Mobile {
  3.     public function run();
  4. }
  5. //被代理的内容
  6. class Vivo implements Mobile {
  7.     public function run() {
  8.         echo 'vivo手机正在运行';
  9.     }
  10. }
  11. //代理核心代码
  12. class Proxy {
  13.     private $real_obj;
  14.     public function __construct() {
  15.         $this->real_obj = new Vivo;
  16.     }
  17.     public function run() {
  18.         $this->real_obj->run();
  19.     }
  20. }
  21. //调用端=================================================
  22. (new Proxy())->run();
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表