介绍
代理模式为其他对象提供一种代理以控制对这个对象的访问。
根据代理模式的使用目的不同,代理模式又可以分为多种类型
- 远程代理 (Remote Proxy)
- 虚拟代理 (Virtual Proxy) 如需要创建一个资源消耗较大的对象,先创建一个消耗相对较小的对象来表示,真实对象只在需要时才会被真正创建。
- 保护代理 (Protect Proxy) 用来控制真实对象访问的权限。
- 缓冲代理 (Cache Proxy) 为某一个目标操作的结果提供临时的存储空间,以便多个客户端可以共享这些结果。
- 智能引用代理(Smart Reference Proxy)当一个对象被引用时,提供一些额外的操作,例如将对象被调用的次数记录下来等。
虚拟代理示例
1 | /** |
1 | /** |
1 | var test = new TestProxy('Tom'); |