《学习笔记》设计模式-代理模式
来源:互联网 发布:java 连接两个string 编辑:程序博客网 时间:2024/05/29 19:14
前言
本文来自《Head Fist 设计模式》一书的实例,这里仅仅是个人笔记记录
代理模式特征
为另一个对象提供一个替身或者占位符以访问这个对象
远程代理
远程代理可以作为另一个JVM上对象的本地代理,调用代理的方法,会被代理利用网络转发到远程执行,并且结果会通过网络返回给代理,再由代理将结果转发给客户
我认为以前的网络编程就是远程代理,还有例如地图轨迹查询
客户端发送requst()-服务器代理这个请求-控制行程记录仪上传-服务器接受结果-送往客户端
保护代理
根据访问权限决定客户是否可以访问的对象代理
虚拟代理(Virtual Proxy)
虚拟代理作为创建开销大的对象代表。虚拟代表经常直到我们真正需要一个对象的时候才真正创建,当对象在创建前和创建中时,有虚拟代理扮演对象的替身。对象创建后,代理就会请求直接委托给对象
例如:图片缓存,虚拟代理负责加载缺省图片和信息提示,等真实图片加载完成再显示具体图片
防火墙模式(FirewallProxy)
控制网络资源访问,保护主题免于“坏”客户的侵害
智能应用代理(Smart Reference Proxy)
当主题被引用时,进行额外的动作。
例如计算一个对象被引用的次数
缓存代理(Caching Proxy)
为开销大的运算结果提供暂时的存储;它也允许多个客户共享结果,以减少计算或者网络延迟
同步代理(Synchronization Proxy)
多线程的情况下为主题提供安全的访问
复杂隐藏代理(Complexity Hiding Proxy)
用来隐藏一个类的复杂集合的复杂度,并进行访问控制
外观代理(Facade Proxy)
用来隐藏一个类的复杂集合的复杂度,并提供另一组简洁的接口
写入时赋值代理(Copy-On-Write-Proxy)
用来控制对象的复制,方法是延迟对象的复制,直到客户真的需要为止,这里是虚拟代理的变体
阅读全文
0 0
- 设计模式学习笔记之代理模式
- 【设计模式】代理模式学习笔记
- 设计模式学习笔记--代理(Proxy)模式
- 设计模式学习笔记之代理模式
- 设计模式学习笔记--代理模式
- 设计模式学习笔记-代理模式
- 设计模式学习笔记—代理模式
- 设计模式学习笔记--代理模式
- java设计模式学习笔记--代理模式
- 《学习笔记》设计模式-代理模式
- java设计模式学习笔记3 代理模式-静态代理
- java设计模式学习笔记4 代理模式-动态代理
- 设计模式笔记--代理模式
- 设计模式笔记-代理模式
- 设计模式笔记--代理模式
- 设计模式笔记:代理模式
- 设计模式笔记:代理模式
- 《设计模式》学习笔记--代理Proxy
- D
- 关于ETL 数据分析 停止程序的操作
- 一行代码实现自定义转场动画--iOS自定义转场动画集
- sql server 自定义列的自增规则
- eclipse汉化(不用下载压缩包)
- 《学习笔记》设计模式-代理模式
- python 处理MySQL ORM
- C语言实现C++多态机制
- vector和list
- python 3.x 条件控制 循环语句
- arcgis for js 动态依次展示图块graphic
- Wooden Sticks
- 点分治
- 自然语言处理之维特比(Viterbi)算法