结构图
优点
对外提供统一的接口访问,通过对真实类封装附加操作,从而在不影响外部调用的情况下,进行系统扩展。比如真实操作要添加一个校验动作,可以不修改原操作方法,在外封装一层方法,该方法进行校验动作,然后调用真实方法,对外的调用接口仍然不变。开闭原则。
场景
- RMI
- 虚拟代理,在加载一些耗时资源类时,未完成时可通过代理类显示其他动作,完成后再委托加载好的类进行操作。
http://blog.csdn.net/shuangde800/article/details/10324991 - 安全代理,验证用户权限。
- 智能指引,调用真实对象时,代理处理其他事情。例如统计访问次数。