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

简介:

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

适用场景:

  1. 调用端不想或不能直接调用的对象。
  2. 服务端不想让调用端看到核心实现。

优点:

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

缺点:

  1. 增加类的数量,增加代码复杂度。
  2. 额外且非必要的类,会造成资源损耗。

代码

//被代理的抽象接口
interface Mobile {
    public function run();
}

//被代理的内容
class Vivo implements Mobile {
    public function run() {
        echo 'vivo手机正在运行';
    }
}

//代理核心代码
class Proxy {
    private $real_obj;
    public function __construct() {
        $this->real_obj = new Vivo;
    }

    public function run() {
        $this->real_obj->run();
    }
}

//调用端=================================================
(new Proxy())->run();

原文链接:https://www.cnblogs.com/phpphp/p/16871793.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈PHP设计模式的代理模式 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • php 批量替换程序的具体实现代码

    针对这一话题,下面是一份详细的攻略,含有具体的实现代码: 1. 确定任务需求 我们要实现一个批量替换程序,该程序能够读取某一个目录下的所有文件,对每一个文件的内容进行指定字符串的替换操作。具体来说,我们需要: 指定目录路径 指定需要被替换的字符串 指定替换后的字符串 2. 伪代码设计 在开始编写实际代码之前,我们需要先思考一下程序的逻辑,并用伪代码进行描述。…

    PHP 2023年5月23日
    00
  • php中过滤非法字符的具体实现

    在 PHP 中,过滤非法字符的具体实现可以通过以下步骤来完成: 使用 PHP 自带函数htmlspecialchars()对输入的字符串进行编码,将特殊字符转换成 HTML 实体,防止跨站脚本攻击(XSS); 根据具体业务需求,使用 PHP 自带函数 filter_var()或preg_replace()进行正则表达式过滤,去除或替换非法字符; 对最终结果进…

    PHP 2023年5月26日
    00
  • 10个实用的PHP代码片段

    这里是关于“10个实用的PHP代码片段”的详细攻略。 概述 作为一个PHP开发人员,经常需要处理一些常见的任务,如字符串操作、数组操作等。本攻略将介绍10个实用的PHP代码片段,可以帮助你更容易地完成日常的开发任务。 1. 检查字符串是否包含指定子串 如果需要检查一个字符串是否包含指定的子串,可以使用strpos()函数。这个函数会返回子串在字符串中首次出现…

    PHP 2023年5月24日
    00
  • PHP对表单提交特殊字符的过滤和处理方法汇总

    接下来我将详细讲解“PHP对表单提交特殊字符的过滤和处理方法汇总”的完整攻略。 前言 在 PHP 中,处理表单提交特殊字符是一个常见的任务。如果不对表单数据进行处理和过滤,可能会导致安全问题,如 SQL 注入、XSS 攻击等。因此,正确处理表单提交特殊字符对于确保网站安全非常重要。本文将介绍一些方法来过滤和处理 PHP 中的表单数据。 1. htmlenti…

    PHP 2023年5月26日
    00
  • php显示时间常用方法小结

    让我为您详细讲解“php显示时间常用方法小结”的完整攻略。 标题 1. date()函数 date() 函数可以很容易地获取当前时间、日期,并将其格式化成任何格式的字符串。 例如: <?php echo "今天是 " . date("Y/m/d") . "<br>"; echo &…

    PHP 2023年5月26日
    00
  • php实现pdo数据库操作类过程详解

    PHP实现PDO数据库操作类过程详解 PDO是PHP的一个数据库抽象层,可以让我们使用统一的方式来操作不同的数据库。在实际开发中我们通常会封装一个PDO数据库操作类,以便于更方便地进行数据库操作。下面是一个PHP实现PDO数据库操作类的完整攻略。 步骤 使用PDO数据库操作类的步骤如下: 连接数据库 在PDO数据库操作类中,我们需要先连接数据库。PDO的构造…

    PHP 2023年5月12日
    00
  • php中sprintf与printf函数用法区别解析

    PHP中sprintf与printf函数用法区别解析 概述 sprintf和printf都是PHP中的格式化输出函数,他们可以将变量按照指定格式输出在文字流中,主要区别在于输出的形式不同。 printf函数 printf函数的作用是将格式化的字符串输出到屏幕上,支持类似C语言中的格式化输出。它的基本语法如下: printf(format,arg1,arg2,…

    PHP 2023年5月26日
    00
  • ASP.NET文件上传控件Uploadify的使用方法

    下面我将为您详细讲解“ASP.NET文件上传控件Uploadify的使用方法”的完整攻略。 使用Uploadify控件上传文件 1. 准备工作 在使用Uploadify控件之前,需要下载相关的资源文件,包括JQuery库、Uploadify插件和SWF文件等。这些文件可以在Uploadify的官网上进行下载。 在下载完成后,将这些文件放置在项目的指定目录中,…

    PHP 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部