仅仅是个人学习笔记,不具备参考价值

在说一下代理模式的应用。

(1)远程代理(Remote Proxy) -可以隐藏一个对象存在于不同地址空间的事实。也使得客户端可以访问在远程机器上的对象,远程机器可能具有更好的计算性能与处理速度,可以快速响应并处理客户端请求。

(2)虚拟代理(Virtual Proxy) – 允许内存开销较大的对象在需要的时候创建。只有我们真正需要这个对象的时候才创建。

(3)写入时复制代理(Copy-On-Write Proxy) – 用来控制对象的复制,方法是延迟对象的复制,直到客户真的需要为止。是虚拟代理的一个变体。

(4)保护代理(Protection (Access)Proxy) – 为不同的客户提供不同级别的目标对象访问权限

(5)缓存代理(Cache Proxy) – 为开销大的运算结果提供暂时存储,它允许多个客户共享结果,以减少计算或网络延迟。

(6)防火墙代理(Firewall Proxy) – 控制网络资源的访问,保护主题免于恶意客户的侵害。

(7)同步代理(SynchronizationProxy) – 在多线程的情况下为主题提供安全的访问。

(8)智能引用代理(Smart ReferenceProxy) - 当一个对象被引用时,提供一些额外的操作,比如将对此对象调用的次数记录下来等。

(9)复杂隐藏代理(Complexity HidingProxy) – 用来隐藏一个类的复杂集合的复杂度,并进行访问控制。有时候也称为外观代理(Façade Proxy),这不难理解。复杂隐藏代理和外观模式是不一样的,因为代理控制访问,而外观模式是不一样的,因为代理控制访问,而外观模式只提供另一组接口。

PS:这里只理解了包含代理、同步代理、智能应用代理,其它的工作都没有接触过,不太理解。

PS:看网上查看代理模式的时候,有人说和装饰模式有点类似。我个人的理解是根本八竿子打不着的模式。

代理模式的侧重点是控制被代理对象的访问。装饰者模式侧重点是可以按照客户端需要有选择地、按顺序的使用装饰功能包装对象,是给对象动态的添加功能。

第七章 为别人做嫁衣—代理模式相关推荐

  1. 《大话设计模式》之--第7章 为别人做嫁衣----代理模式

    第7章 为别人做嫁衣----代理模式 7.1为别人做嫁衣 "小菜,今天见这个叫娇娇的美女见得如何呀?"大鸟一回家来就问小菜. "唉,别提了,人家是有男朋友的." ...

  2. 第7章 为别人做嫁衣----代理模式 大话设计模式

    第7章 为别人做嫁衣----代理模式 7.1为别人做嫁衣 "小菜,今天见这个叫娇娇的美女见得如何呀?"大鸟一回家来就问小菜. "唉,别提了,人家是有男朋友的." ...

  3. java设计模式之为别人做嫁衣----代理模式

    2019独角兽企业重金招聘Python工程师标准>>> 7.1为别人做嫁衣 "小菜,今天见这个叫娇娇的美女见得如何呀?"大鸟一回家来就问小菜. "唉,别 ...

  4. 为别人做嫁衣 代理模式

    7.1 为别人做嫁衣! 7.2 没有代理的代码 namespace 代理模式 {class Program{static void Main(string[] args){SchoolGirl jia ...

  5. 设计模式(三) | 为别人做嫁衣---代理模式

    代理模式 代理模式:为其他对象提供一种代理,以控制对这个对象的访问. 模式动机: 在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为"代理"的第三者来实现 ...

  6. 为别人做嫁衣——代理模式

    代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问. 代理模式(Proxy)结构图 Subject类,定义了RealSuject和Proxy的共用的接口,这样就在任何使用RealSu ...

  7. 【设计模式】为别人做嫁衣 --- 代理模式

    一,概述 定义:代理模式(Proxy)为另一个对象提供一个替身或占位符以控制对这个对象的访问,简而言之就是用一个对象来代表另一个对象. 作用:为其他对象提供一种代理以控制对这个对象的访问.在某些情况下 ...

  8. 为别人做嫁衣---代理模式

    引例 : 追求者(C),被追求者(B) ,代理者(A) 故事概要: A和B是好朋友, A喜欢B ,但A以C的名义去送给B礼物 1.没有代理 追求者类class Pursuit{SchoolGirl m ...

  9. 为别人做嫁衣 --- 代理模式

    一,概述 定义:代理模式(Proxy)为另一个对象提供一个替身或占位符以控制对这个对象的访问,简而言之就是用一个对象来代表另一个对象. 作用:为其他对象提供一种代理以控制对这个对象的访问.在某些情况下 ...

最新文章

  1. 你中招了吗?混不好大学的人,都有这4种表现
  2. 重磅直播|中科慧眼崔峰博士详解深度相机原理及其应用
  3. 安卓java修改按钮大小_android弹出activity设置大小的方法
  4. javascript系统时间
  5. 系统测试分类和测试常用方法
  6. 使用tkinter爬取二手房交易网站信息
  7. SQLite Developer破解 cmd 运行 reg delete HKEY_CURRENT_USER\SharpPlus\SqliteDev /v StartDate /f
  8. 鲁班H5页面生成工具源码
  9. Git 删除提交\commit的log记录、修改历史提交消息、删除历史提交、修改所有提交的邮箱地址、从所有提交中删除一个文件
  10. win10上运行ROS时报:qt.qpa.plugin:Cound not find the Qt platform plugin “windows“
  11. win10声音输出设备选择声卡步骤
  12. 【算法】算法之会议安排问题(C++源码)
  13. 使用docker部署java服务
  14. Excel分列小技巧
  15. 2021消防设施操作员考试实操口述题及答案解析
  16. LeetCode 21-30 题
  17. 计算机大数据的前景方向_大数据十大发展方向!
  18. C语言之对char*与char[]的理解
  19. 游戏音效设计师的限制
  20. MBA-day13 逻辑学 模态推理(可能与必然的推理)

热门文章

  1. :“Parameter ‘@i‘ specified but none of the passed arguments have a
  2. raptor工具使用方法、两个数求和
  3. mes系统故障_MES系统现在存在哪些问题
  4. [技术] [插件精选] 炫酷粒子特效(下)
  5. 7-4 惊群、性能优化大局观
  6. 数据库正在复制无法分离解决办法
  7. python--LDA线性判别分析模型
  8. 百奥赛图与LiberoThera共同开发全人GPCR抗体药物取得里程碑式进展
  9. 微软html帮助文档制作,MicrosoftHTMLHelpWorkshop(CHM文件生成工具)
  10. shape:形状定义图形