软设之代理模式

代理模式的意图是:为其他对象提供一种代理以控制这个对象访问。

打个比方,有个画家非常忙,但是他的画作很出名,很多人都想买,画家没时间处理这些买卖关系。于是这个画家就聘请一个代理,作为对接想买他画的人。

proxy:代理维护一个引用使用代理可以访问实体,如果realsubject和subject的接口相同,则proxy会引用subject,其他功能取决于proxy的类型。

远程代理:负责对请求及其参数编码,向不同地址空间中的实体发送已编码的请求。

循环代理:可以缓存实体的其他信息,以便延迟对它的访问。

保护代理:检查调用者的请求是不是有所需的权限。

Subject:抽象实体接口,为Realsubject实体和proxy代理定义相同的接口,使得realsubject在任何地方都可以使用proxy访问。

realsubject:真实对象,定义Proxy。

相关推荐
Rabitebla6 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
是2的10次方啊7 小时前
设计模式与生活㉑:一句“建议复查”,是好几句话拼出来的
设计模式
坤坤子吖10 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
YLCHUP14 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
旖旎夜光16 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
星恒随风1 天前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
2603_969694851 天前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
可乐ea1 天前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
Go Work1 天前
两个等值条件摆着,MySQL 偏要全表扫
经验分享·笔记
Oll Correct1 天前
Adobe illustrator 案例十四:花元素标志草图绘制
笔记·ui·adobe·illustrator