代理模式(Proxy Pattern)

代理模式(Proxy Pattern)

定义

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

类图

代理模式(Proxy Pattern)

代理类型

  • 远程代理(Remote Proxy)——访问远程对象
    Java RMI http://blog.csdn.net/h0_0p/article/details/77121372
  • 虚拟代理(Virtual Proxy)——访问开销大的资源

    当我们需要显示一张比较大的图片时,加载的时间会比较长,在等待图像加载的时间里,虚拟代理可以暂时管理显示页面,让其显示“请稍后,正在加载中”,当图片加载完毕之后,代理就把显示的职责委托给该对象

  • 保护代理(Protection Proxy)——根据客户的角色来决定是否允许客户访问特定的方法

    这个代理还需要有一个代理助手(InvocationHandler)

  • 防火墙代理(Furewall Proxy)——控制网络资源的访问

  • 缓存代理(Cathing Proxy)——为开销大的运算结果提供暂时存储,减少计算或网络延迟

  • 同步代理(Synchronization Proxy)——在多线程的情况下,为主题提供安全的访问