• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-09-23 03:44 Aet 隐藏边栏 |   抢沙发  5 
文章评分 4 次,平均分 5.0

简述

在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用,并且可以通过代理对象去掉客户不能看到 的内容和服务或者添加客户需要的额外服务。

定义

给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式的英 文叫做ProxySurrogate,它是一种对象结构型模式。

角色

  1. Subject: 抽象角色
  2. Proxy: 代理角色
  3. RealSubject: 真实角色

场景

  1. 每当需要比简单指针更通用或更复杂的对象引用时
  2. 远程代理:当需要访问位于远程服务器上的对象时,代理模式可以用来隐藏网络通信的细节
  3. 虚拟代理:当创建开销较大的对象时,可以使用代理模式来推迟对象的实例化,延迟加载对象
  4. 安全代理:当需要控制对对象的访问权限时,代理模式可以用于实现访问控制
  5. 缓存代理:当需要缓存对象的计算结果或请求结果时,代理模式可以用于实现结果的缓存

实现一

实现二

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2023-07-28
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享