重温设计模式 - 代理模式

代理模式

定义

代理模式是为其它对象提供一种代理,以控制对被代理对象的访问。在访问对象时,引入一定程度的间接性,并通过此间接,附加多种用途。

适用场景

一般分为几种情况:

  • 远程代理
    为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同空间的事实
  • 虚拟代理
    根据需要创建开销很大的对象,通过虚拟代理来存放实例化需要很长时间的真是对象,以达到性能优化的目的。比如网页加载图片,未打开的图片框代理了真实的图片的路径和尺寸。
  • 安全代理
    用于控制真实对象访问时的权限,用于对象有不同的访问权限时。
  • 智能指引
    指在调用真实的对象时,代理去处理一些额外的事宜。 比如计算真实对象的引用次数,当对象没有引用时,自动释放它; 或者当第一次引用一个持久对象时,将它放入内存;或者在访问一个对象前,检查是否已经锁定了

类图

posted @ 2017-04-11 18:11  安果果  阅读(101)  评论(0编辑  收藏  举报