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