浅谈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递归使用示例(php递归函数)

    下面我将详细讲解“PHP递归使用示例(PHP递归函数)”的完整攻略,包含以下内容: 什么是递归函数(Recursive Function) 递归函数的基本用法 递归函数的注意事项 示例:计算斐波那契数列 示例:遍历多层级分类树 1. 什么是递归函数(Recursive Function) 递归函数是指在函数的执行过程中调用了函数本身,从而达到多次执行的目的。…

    PHP 2023年5月27日
    00
  • php 应用程序安全防范技术研究

    PHP 应用程序安全防范技术研究 随着互联网的普及和应用程序的不断发展,应用程序安全问题越来越受到广泛关注。在 PHP 应用程序开发中,开发人员需要注意安全防范技术,以保障程序数据安全。下面将介绍如何对 PHP 应用程序进行安全防范。 SQL 注入攻击防范 SQL 注入攻击是指攻击者通过构造特殊的 SQL 语句,将恶意代码注入到应用程序中,从而对数据库进行非…

    PHP 2023年5月23日
    00
  • php实现过滤字符串中的中文和数字实例

    下面我将详细讲解 PHP 实现过滤字符串中的中文和数字的完整攻略。 1. 判断中文和数字 首先,我们需要判断字符串中是否包含中文和数字。为了方便判断,可以借助 PHP 的正则表达式来实现。具体实现过程如下所示: function contains_cn_num($str) { return preg_match(‘/[\x{4e00}-\x{9fa5}\d]…

    PHP 2023年5月26日
    00
  • 完美实现wordpress禁止文章修订和自动保存的方法

    下面我会详细讲解“完美实现WordPress禁止文章修订和自动保存的方法”的完整攻略。这个攻略可以帮助到想要提升WordPress博客性能的用户,提高编辑文章时的效率和舒适度。整个过程分为以下两步: 第一步:禁用文章修订版本功能 文章的修订版本功能默认是打开的,每次保存文章时都会保存当前版本和之前版本之间的差异。长期的使用会从数据库中积累大量无用的数据,增加…

    PHP 2023年5月23日
    00
  • PHP输入流php://input介绍

    PHP输入流php://input是一种通过HTTP POST方法从客户端发送一条小量数据到服务端的输入流。使用该输入流对于处理大量数据的情况来说非常适合。 在PHP中,使用php://input可以访问到HTTP POST请求的原始数据。它是以流的形式呈现的,此时的流并没有经过解析,可以通过调用“file_get_contents()”函数来获取该流的内容…

    PHP 2023年5月26日
    00
  • PHP开发入门教程之面向对象

    认识面向对象编程(Object Oriented Programming,OOP)是学习PHP的一个重要环节,面向对象编程是一种程序设计风格,它将类或对象作为主要的软件组织单元,以便具有结构性和可重用性。本教程将深入探索PHP面向对象编程的方方面面,为您提供学习的完整攻略。 一. 安装PHP环境 在开始这个教程之前,我们需要安装PHP环境,可以选择在自己的电…

    PHP 2023年5月23日
    00
  • 浅谈PHP中的数据传输CURL

    关于“浅谈PHP中的数据传输CURL”的完整攻略,以下是详细讲解: 一、CURL简介 CURL是一个开源的、支持多种协议的网络库,它可以用来进行网络数据传输和通信操作。在PHP中,我们可以使用CURL扩展来完成这些操作。CURL主要支持以下协议: HTTP、HTTPS、FTP、FTPS、TELNET、LDAP、DICT、FILE、HTTP POST、HTTP…

    PHP 2023年5月26日
    00
  • php实现的生成排列算法示例

    首先,生成排列算法是一种将一组元素重新排列的算法。PHP作为一种流行的Web编程语言之一,能够很方便地实现这个算法。接下来,将详细讲解“PHP实现的生成排列算法示例”的完整攻略,包括两个示例。 示例1:使用PHP内置函数实现生成排列算法 PHP提供了一个内置函数permutations,可以用来轻松地生成排列。此函数接受一个数组作为参数,返回其所有可能的排列…

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