美文网首页
JavaScript的代理模式

JavaScript的代理模式

作者: 零壹生活 | 来源:发表于2016-12-04 22:49 被阅读14次

今天学习了JavaScript的代理模式,简单来说就是在目标函数之上多了一个经理人函数。你不能直接调取目标函数,应该先调取经理人函数,然后经过判断和前置处理后,再通过经理人函数调取目标函数。

如果你仔细阅读上面的解释,就能发现其实经理人函数代码是可以直接写在目标函数中的,并且在最终实现的功能也没有什么差别。但这么做的话就违背了面向对象设计中的一个原则--单一职责原则

单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。如果一个对象承担了多项职责,就意味着这个对象将变得巨大,引起它变化的原因可能会有多个。

一个函数如果包含太多的功能的,那后期维护将是一个灾难直到变成无法维护为止。所以有些懒还是不要偷为好,要不然就是在给自己找麻烦。

此外,代理模式在JavaScript中另一个重要的应用场景是“缓存代理”,既为一些开销大的运算结果提供暂时的存储,在下次运算时,如果传递进来的参数跟之前一致,则可以直接返回前面存储的运算结果。在需要重复计算结果的场景中,该模式的使用效率将是最高的。

最后,不需要一开始就编写代理函数。只有存在保护或限制目标函数访问需求的时候,在编写即可。

相关文章

  • JavaScript设计模式四(代理模式)

    JavaScript设计模式四(代理模式) 代理模式的定义: 代理模式是为一个对象提供一个代用品或者占位符,以便对...

  • JavaScript 代理模式

    代理模式的关键是:当客户不方便直接访问一个对象或不满足需求的时候,提供一个替身对象来控制这个对象的访问,客户实际上...

  • javascript代理模式

    代理模式是给对象提供一个代用品或占位符,以便控制对它的访问参考《javascript模式设计与开发实践》 缓存代理...

  • javascript 代理模式

    所谓的的代理模式就是为一个对象找一个替代对象,以便对原对象进行访问。 使用代理的原因是我们不愿意或者不想对原对象进...

  • JavaScript代理模式

    代理模式是在请求对象与响应对象之间添加一个对象,负责接受请求,进行一定处理后再发送请求。如缓存,图片预加载,合并H...

  • JavaScript的代理模式

    今天学习了JavaScript的代理模式,简单来说就是在目标函数之上多了一个经理人函数。你不能直接调取目标函数,应...

  • 设计模式系列笔记-代理模式

    写在前面:本系列文章内容为《JavaScript设计模式与开发实践》一书学习笔记,感谢作者曾探 代理模式 代理模式...

  • Javascript设计模式-代理模式

    特点 1.使用者无法直接访问目标对象 2.使用者和目标对象之间加一层代理,通过代理来授权和控制 例如:访问gith...

  • JavaScript设计模式——代理模式

    代理模式 代理的概念 由于一个对象不能直接引用另一个对象,所以需要通过代理对象在这两个对象之间起到中介的作用 以上...

  • JavaScript设计模式——代理模式

    代理模式属于设计模式中结构型的设计模式; 定义:顾名思义就是为一个对象提供一个代用品或占位符,以便控制对它的访问!...

网友评论

      本文标题:JavaScript的代理模式

      本文链接:https://www.haomeiwen.com/subject/ueohmttx.html