设计模式-结构型模式-代理模式

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。[DP]

// 定义接口
interface Subject {void request();
}// 真实主题对象
class RealSubject implements Subject {@Overridepublic void request() {System.out.println("RealSubject is requested.");}
}// 代理主题对象
class ProxySubject implements Subject {private RealSubject realSubject;public ProxySubject() {// 可以在这里进行初始化操作,如权限验证、日志记录等}@Overridepublic void request() {// 在调用真实对象前可以添加一些操作System.out.println("ProxySubject is requested.");if (realSubject == null) {realSubject = new RealSubject();}// 调用真实对象的方法realSubject.request();// 在调用真实对象后可以添加一些操作System.out.println("After RealSubject is requested.");}
}// 客户端代码
public class ProxyPatternDemo {public static void main(String[] args) {Subject subject = new ProxySubject();subject.request();}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/737166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络基础『 序列化与反序列化』

🔭个人主页: 北 海 🛜所属专栏: Linux学习之旅、神奇的网络世界 💻操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌤️前言🌦️正文1.协议的重要性2.什么是序列化与反序列化&…

AI会砸了我们的饭碗?

Sora,由OpenAI推出,是一款创新的文本到视频生成模型。它能够将文本描述转化为引人入胜的高清视频片段。采用了扩散模型和变换器架构,Sora实现了高效的训练。其方法包括统一表示法、基于补丁的表示法、视频压缩网络和扩散变换器。 Sora具备多种…

C语言--- 指针运算笔试题详解

目录 题目1&#xff1a; 题目2&#xff1a; 题目3&#xff1a; 题目4&#xff1a; 题目5&#xff1a; 题目6&#xff1a; 题目7&#xff1a; 题目1&#xff1a; #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int *ptr (int *)(&a 1);print…

长期异地就医备案有效期是多久?答记者问!

4、长期异地就医登记的有效期是多长&#xff1f; 答&#xff1a;异地长期就医登记长期有效。 如果您因个人原因需要变更长期居住地&#xff0c;只需提供相应的登记信息即可申请变更。 5、临时异地就医登记的有效期是多长时间&#xff1f; 答&#xff1a;临时异地就医登记包括…

CSS伪类与常用标签属性整理与块级、行级、行级块标签(文本,背景,列表,透明,display)

目录 文本 color&#xff1a;字体颜色 font-size&#xff1a;字体大小​编辑 front-family&#xff1a;字体 text-align&#xff1a;文本对齐 text-decoration:line-through&#xff1a;定义穿过文本下的一条线 text-decoration:underline&#xff1a;定义文本下的一条线…

如何轻松打造属于自己的水印相机小程序?

水印相机小程序源码 描述&#xff1a;微信小程序。本文将为您详细介绍小程序水印相机源码的搭建过程&#xff0c;教您如何轻松打造属于自己的水印相机小程序。无论您是初学者还是有一定基础的开发者&#xff0c;都能轻松掌握这个教程。 一&#xff1a;水印相机搭建教程 1 隐…

上位机图像处理和嵌入式模块部署(qmacvisual旋转和镜像)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 旋转和镜像是图像处理中经常遇到的一个情况。很多时候&#xff0c;摄像头面对物体进行拍摄&#xff0c;未必是正对着进行拍摄的&#xff0c;这个时…

【学习笔记】VMware vSphere 6.7虚拟化入门

VMware vSphere 6.7虚拟化入门课程介绍 课程内容 1、VMware vSphere 6.7虚拟化入门课程介绍 2、ESXi6.7控制台设置 3、使用vSpkere Host client管理虚拟机 4、VMware EsXi基础操作 5、VMware Esxi存储管理 6、管理ESXi主机网络与虚拟机网络 7、安装配置vCenter Server Applia…

使用Amazon Bedrock托管的Claude3 学习中国历史

最近被Amazon Bedrock托管的Claude3 刷屏了&#xff0c;那么先简单介绍下什么是Claude 3。 Claude 3是Anthropic 推出了下一代 Claude模型&#xff0c;针对不同用例进行优化的三种先进模型&#xff1a;Claude 3 Haiku、Claude 3 Sonnet 和 Claude 3 Opus&#xff0c;使用户能够…

C/C++ 通过C语言可变参数打印(正常参数、正常格式化,运行不确定时间后崩溃)

在 C/C 之中&#xff0c;有时会遇到一些疑难杂症&#xff0c;但大多数情况下不会触发它&#xff0c;但如果触发它导致崩溃&#xff0c;的确会让人心态很炸裂。 我们知道我们想要提供C语言接口的动态参数传递给其它C动态参数函数&#xff0c;会通过va_list 来转发调用&#xff0…

解决方案|珈和科技推出农业特色产业数字化服务平台

今年中央一号文件提出&#xff0c;鼓励各地因地制宜大力发展特色产业&#xff0c;支持打造乡土特色品牌。 然而&#xff0c;农业特色产业的生产、加工和销售仍然面临诸多挑战。产品优质不能优价&#xff0c;优质不能优用的现象屡见不鲜&#xff0c;产业化程度低、生产附加值不…

Linux进程概念僵尸进程孤儿进程

文章目录 一、什么是进程二、进程的状态三、Linux是如何做的&#xff1f;3.1 R状态3.2 S状态3.3 D状态3.4 T状态3.5 t状态3.6 X状态3.7 Z状态 四、僵尸进程4.1 僵尸进程危害 五、孤儿进程 一、什么是进程 对于进程理解来说&#xff0c;在Windows上是也可以观察到的&#xff0c…

蓝桥杯(3.10)

1219. 移动距离 import java.util.Scanner; public class Main{public static void main(String[] args) {Scanner sc new Scanner(System.in);int w sc.nextInt();int m sc.nextInt();int n sc.nextInt();m--;n--;//由从1开始变为从0开始//求行号int x1 m/w, x2 n/w;//…

数据结构与算法第三套试卷小题

1.删除链表节点 **分析&#xff1a;**首先用指针变量q指向结点A的后继结点B&#xff0c;然后将结点B的值复制到结点A中&#xff0c;最后删除结点B。 2.时间复杂度的计算 **分析&#xff1a;**当涉及嵌套循环的时候&#xff0c;我们可以直接分析内层循环即可&#xff0c;看内…

2024年春招,如何做一份高水平的简历?(附个人简历模板)

抓对这几个重点,你想不通过简历面都难! HR想看到什么?雇主想看到什么?你未来的Leader想看到什么? 1. 简历模板:第一印象至关重要 专业与个性并存:选择一个既专业又有个性的模板。例如,如果你是一名工程师,可以选择一个简洁、有技术感的模板;如果是艺术行业,可以选…

Docker 的资源控制

目录 Docker 的资源控制为什么需要资源控制&#xff1f;控制内存使用限制 CPU 使用磁盘 I/O 控制网络带宽限制实践建议 Docker 资源控制&#xff1a;保障性能与稳定性Docker资源控制概览内存限制CPU限制磁盘 I/O 控制网络带宽管理实际应用 Docker 启动后的 更新资源管理 Docker…

面试官:线程调用2次start会怎样?我支支吾吾没答上来

写在开头 在写完上一篇文章《Java面试必考题之线程的生命周期&#xff0c;结合源码&#xff0c;透彻讲解!》后&#xff0c;本以为这个小知识点就总结完了。 但刚刚吃晚饭时&#xff0c;突然想到了多年前自己面试时的亲身经历&#xff0c;决定再回来补充一个小知识点&#xff…

Dgraph 入门教程三《linux本地部署》

上一章中&#xff0c;我们用的官方的Clound操作的&#xff0c;怎么在本地部署一套Dgraph呢。这一章将做详细介绍。安装有好几种方式&#xff0c;最简单的就是联网部署。因为项目需要&#xff0c;这里先不介绍和测试线上部署了&#xff0c;只介绍离线部署。 1、下载安装包 Rel…

理论学习:nn.CrossEntropyLoss

该标准计算输入 logits 和目标之间的交叉熵损失。 代码实战 该损失函数结合了nn.LogSoftmax()和nn.NLLLoss()两个函数。它在做分类&#xff08;具体几类&#xff09;训练的时候是非常有用的。在训练过程中&#xff0c;对于每个类分配权值&#xff0c;可选的参数权值应该是一个…

cdn和oss有什么区别

CDN&#xff08;内容分发网络&#xff09;和OSS&#xff08;对象存储服务&#xff09;是两种常见的互联网技术&#xff0c;它们在内容存储和分发方面有着不同的功能和特点。 CDN&#xff1a;加速网络内容分发 CDN通过部署在全球各地的节点服务器&#xff0c;将静态内容缓存到离…