核心:代理对象中加入一个额外的(预先)操作(或存放一个队列),在适当的时机,执行本体
我们在编写业务代码的时候,不需要预先猜测是否需要使用代理模式。当真正发现不方便直接访问某个对象的时候,再编写代理不迟。
保护代理和虚拟代理
- 保护代理:控制不同权限的对象对目标对象的访问
- 虚拟代理:把一些开销很大的对象,延迟到真正需要它的时候才去创建
代理的意义
单一职责原则 一个引起变化的原因开放封闭原则
给img节点设置src 和 图片预加载 被隔离在两个对象里。如果不再需要预加载,只需要改成请求本体。
代理和本体接口的一致性
- 面向接口编程迎合依赖倒置原则,通过接口进行向上转型。 代理和本体将来可以被替换使用。
虚拟代理
虚拟代理实现图片预加载
防抖:虚拟代理
虚拟代理在惰性加载中的应用 —— 函数放到缓存队列

