时间:2021-05-25
在面向对象设计中,有一个单一职责原则,指就一个类(对象、函数)而言,应该仅有一个引起它变化的原因。如果一个对象承担了过多的职责,就意味着它将变得巨大,引起它变化的原因就多,它把这些职责耦合到了一起,这种耦合会导致程序难于维护和重构。
这时候,我们可以把该对象(本体)的其中一部分职责分离出来给一些第三方对象去做,本体只管自己的一些核心职责,这些第三方对象就称作代理。代理对象可以作为对象(也叫“真正的主体”)的保护者,让真正的主体对象做尽量少的工作。在代理设计模式中,一个对象充当了另一个对象的接口的角色。
通常代理和本体的接口应该保持一致性,这样当不需要代理的时候,用户可直接访问本体。
当我们不方便直接访问一个对象时,就可以考虑给该对象招一个代理。
代理可用于:图片预加载、合并HTTP请求(代理收集一定时间内的所有HTTP请求,然后一次性发给服务器)、惰性加载(通过代理处理和收集一些基本操作,然后仅在真正需要本体的时候才加载本体)、缓存代理(缓存请求结果、计算结果)等
例子1:图片预加载
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JavaScript设计模式之代理模式。分享给大家供大家参考,具体如下:代理模式的定义,代理是一个对象(proxy)用它来控制目标对象的访问。为此
前言其实和其他编程语言一样,Javascript同样拥有着很多种设计模式,比如单例模式、代理模式、观察者模式等,熟练运用Javascript的设计模式可以使我们
前言和其他编程语言一样,Javascript同样拥有着很多种设计模式,比如单例模式、代理模式、观察者模式等,熟练运用Javascript的设计模式可以使我们的代
本文实例讲述了javascript设计模式–代理模式原理与用法。分享给大家供大家参考,具体如下:介绍:代理使我们很常见的一众模式,proxy,nginx都称之为
本文实例讲述了JavaScript代理模式原理与用法。分享给大家供大家参考,具体如下:代理模式的定义,代理是一个对象(proxy)用它来控制目标对象的访问。为此