完整教程:结构型设计模式之Proxy(代理)

news/2025/10/7 19:53:50/文章来源:https://www.cnblogs.com/slgkaifa/p/19128813

完整教程:结构型设计模式之Proxy(代理)

结构型设计模式之Proxy(代理)

前言:
代理模式,aop环绕通知,动态代理,静态代理 都是代理的一种,这次主要是记录设计模式的代理demo案例,详情请看其他笔记。

1)意图

为其他对象给出一种代理以控制对这个对象的访问。

2)结构

在这里插入图片描述

3)适用性

Poxy模式适用于在应该比较通用和复杂的对象指针代替简单的指针的时候,常见情况有:

代码:

/**
* @author psd 结构性设计模式之代理模式
*/
public class ProxyDemo {
public static
void main(String[] args) {
RealSubject realSubject = new RealSubject(
)
;
Proxy proxy = new Proxy(realSubject)
;
proxy.request(
)
;
}
}
interface Subject{
void request(
)
;
}
class Proxy implements Subject{
protected RealSubject realSubject;
public Proxy(RealSubject realSubject){
this.realSubject = realSubject;
}
@Override
public void request(
) {
System.out.println("我是中介帮您看房....."
)
;
realSubject.request(
)
;
System.out.println("我是中介看好房后对接租方和被出租方....."
)
;
}
}
class RealSubject implements Subject{
@Override
public void request(
) {
System.out.println("我是客户要租房。。。。。"
)
;
}
}

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

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

相关文章

感觉你是那种

感觉你是那种写完T1被卡常问候出题人后发现没删fsanitize的人。 感觉你是那种计数题都不愿意在纸上写式子的人。 感觉你是那种看完计数题题解后都不知道结论是怎么观察到只能喷题目的人。 感觉你是那种打完CF最后总是会…

完整教程:三层架构 vs SOA vs 微服务:该选谁?

完整教程:三层架构 vs SOA vs 微服务:该选谁?2025-10-07 19:49 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display…

学做网站论坛vip共享网站设计的基本过程

人工湿地计算书1、尾水提升泵房集水池基本参数集水池设计规模为30000m3/d,约折合1250m3/h,按水力停留时间HRT为0.25 h计,集水井有效容积应为312.5 m3,考虑到与污水厂原有排污管道相契合,集水设计尺寸为:LBH…

汽车网站开发背景代理小程序加盟

一个文件夹下面有好多图片格式是jpg大小是1920*1080,把它们处理成1280*720并按原先图片的名保存在另一路径下 这里首先要找到给定路径下所有的图片文件,然后在修改图片文件的大小,这里用到PIL和glob两个库: # -*- coding: utf-8 -…

简述电子商务网站的建设步骤制作美食

当今时代,数据已经成为我们生活的重要组成部分,而硬盘又是存储数据的主要设备之一。然而,由于各种原因,我们的数据很容易丢失。是的,我们可以通过数据恢复软件来找回丢失的数据,但是这个过程是否会对硬盘造…

杭州市江干区建设局网站用dw制作网站模板下载地址

文章目录 前言技术回顾准备工作申请accessKey\secretKey创建数据存储桶公共资源直接访问测试 接入springboot实现文件服务依赖引入配置文件MinIO配置MinIO工具类 OkHttpSSLSocketClient兼容ssl静态资源预览解决方案资源上传预览测试测试结果 前言 上篇博客我们介绍了分布式云存…

vscode使用“EIDE”和“Cortex-Debug”插件利用st-link插件达成程序烧写以及调试工作

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

鲜花:不会说明你有抑郁症1

已知均匀随机正实数 \(x,y,z\) 满足 \(x<y<z\) 且 \(x+y+z=1\),求 \(x\) 的期望。一眼枚举 \(y,z\) 求二重定积分,哎我咋算不对数。 设 \(f(k)\) 表示 满足 \(x+y+z=1\) 的无序三元组 \((x,y,z)\) 中,\(x,y,z…

完整教程:【决策分析】基于Excel的多变量敏感性分析解决方案

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【比赛记录】2025CSP-S模拟赛59

A B C D Sum Rank50 32 50 0 132 15/24A. 数列变换 \(f(j)=\left|\sum_{i=1}^{n}(-1)^{i-1} a_{i}-(-1)^{i-1} b_{i+j}\right|=\left|\sum_{i=1}^{n}(-1)^{i-1} a_{i}+\sum_{i=1}^{n}(-1)^{i} b_{i+j}\right|\),前一项…

使用 C 语言实现英文数字验证码识别系统

一、引言 验证码(CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart)是一种用于区分人类和机器行为的安全机制。 它常用于登录、注册、表单验证等场景,验证码图片通常包含英文…

APlayer的配置方法和相关资料整理(已完成)

APlayer的配置方法和相关资料整理(已完成)关于之前折腾小智AI和MCP的时候搜索了很多关于酷我音乐api接口的相关资料 结果没过多长时间就忘了(5个月前吧)后面找时间整理回来吧 所以我才说啊,感觉自己学东西很快,但…

详细介绍:目标检测任务的评估指标mAP50和mAP50-95

详细介绍:目标检测任务的评估指标mAP50和mAP50-95pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

用 Haskell 实现英文数字验证码识别

一、引言 验证码(CAPTCHA)是网站安全的重要组成部分,用于区分人类与自动化程序。 尽管 Python、Go、C# 等语言常被用于 OCR 任务,但本文将尝试使用 Haskell——一门函数式编程语言——来完成英文数字验证码的识别。…

上海交通大学网站建设小程序制作需求文档

一、 题目 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里&#xff0c;情况稍微有些复杂。 当我们验证卡拉兹猜想的时候&#xff0c;为了避免重复计算&#xff0c;可以记录下递推过程中遇到的每一个数。例如对 n3 进行验证的时候&#xff0c;我们需要计算 3、5、8、…

深入解析:Day43 Python打卡训练营

深入解析:Day43 Python打卡训练营pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

C#中数据绑定的简单例子 - 详解

C#中数据绑定的简单例子 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

Spring Boot整合Druid与Dynamic-Datasource多数据源安装:从错误到完美解决

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

用 Perl 实现验证码图像识别

一、引言 验证码(CAPTCHA)是一种区分人类与机器的安全机制,常用于登录、注册等场景中。随着 OCR(光学字符识别)技术的发展,利用编程语言自动识别验证码变得可行。本文将使用 Perl 结合 Tesseract OCR 实现英文数…