JavaScript设计模式-----代理模式

1.代理模式的定义:

代理模式是为一个对象提供一个代用品或占位符,以便控制对他的访问

保护代理,代理B能帮A过滤掉一些请求。

虚拟代理:把一些开销很大的对象延迟到真正需要它的时候才去创建

2.虚拟代理实现图片的预加载:

在开发中图片预加载是一种技术,先用一张loading的图片站位,然后用异步的方式加载图片,等图片加载好了把他填充到img节点里,这种场景就适合使用虚拟代理

JavaScript设计模式-----代理模式

3.代理的意义:

面向对象设计的原则:单一职责原则

单一职责原则:就一个类而言,应该仅有一个引起他变化的原因。如果一个对象承担了多项职责,就意味者这个对象变的巨大,引起他变化的原因可能会有很多个。面向对象设计鼓励将行为分布到细粒度的对象之中,如果一个对象承担的职责过多,等于把这些职责耦合到一起,这种耦合会导致脆弱和低内聚的设计。当变化发生,设计会遭到意外的破坏。

4.虚拟代理合并HTTP请求:

频繁的网络请求会带来相当大的开销,可以使用一个代理函数来收集一段时间内的请求

JavaScript设计模式-----代理模式

5.缓存代理:

为一些开销大的运算结果提供暂时的储存:

JavaScript设计模式-----代理模式