代理模式

211 阅读1分钟

定义

为另一个对象提供一个替身或占位符控制这个对象的访问

特点

  1. 代理就是另外一个对象的代表
  2. 代表对象控制某对象的访问
  3. 被代理的对可以是远程的对象,创建开销大的对象或者需要安全控制的对象

种类

名称 特点 例子
远程代理 控制访问远程对象 远程监控数据
虚拟代理 控制访问创建开销大的对象 数据加载
保护代理 基于权限控制对资源的访问 相亲配对服务(保护相亲数据不被对手修改)
防火墙代理 控制网络资源的访问,保护主题免于侵害
缓存代理 为开销大的运算结果提供暂时的存储;它也允许多个客户共享结果,以减少计算或网络延迟
同步代理 多线程的情况下,为主题提供安全访问

此外还有:智能引用代理,复杂隐藏代理,写入时复制代理......