gpt4 book ai didi

javascript - 用自定义库包装 jQuery、dojo?

转载 作者:搜寻专家 更新时间:2023-11-01 04:43:50 25 4
gpt4 key购买 nike

来自 Java,我想知道 Java 最佳实践是否适用于 JavaScript。

在 Java 中,接口(interface)和实现是分离的,将它们混合在一起被认为是一种不好的做法。出于同样的原因,建议对最终开发人员隐藏您的库的实现细节。

例如,log4J 是最流行的日志记录库之一,但建议将代码写入 slf4j 库或“包装”log4j 的 Commons Logging 库。这样,如果您选择切换到另一个日志记录框架,例如 logback,您可以在不更改代码的情况下这样做。另一个原因是,作为日志库的用户,您不关心如何进行日志记录,只要您知道日志记录的作用即可。

回到 JavaScript,大多数重要的 Web 应用程序都有自己的自定义 JavaScript 库,其中许多使用开源库,例如 jQuery 和 dojo。如果自定义库依赖于 jQuery,而不是作为扩展,而是作为实现,您是否认为需要添加另一个层来包装 jQuery 并使其对其余 JavaScript 代码透明?

例如,如果您有包含所有自定义前端逻辑的 foo 库,您将引入仅包装 jQuery 的 bar 库。这样,您的 foo 库将使用 bar 库来实现 jQuery 函数,但它完全忽略了 jQuery。理论上,您可以切换到其他库,例如 dojo 和 google web toolkit,而不会对 foo 库产生太大影响。

您认为这有什么实用值(value)吗?矫枉过正?

最佳答案

虽然从理论上讲这是有道理的,但在实践中我会说这是矫枉过正。如果不出意外这两个原因:

  1. 任何增加尺寸的东西请求(或添加更多请求)不好 - 在网络世界中,少即是多。
  2. 如果你使用 jQuery,你切换到的机会像 Mootools 这样的东西(恕我直言)微不足道。据我所知,每个顶级库都旨在解决不同的问题(至少在 Mootools 和 jQuery 的情况下 - 有关更多信息,请参见 this great doc)。如果您要尝试实现一个可以在两者之间轻松切换的中间件库,我认为您会感到非常头疼。

关于javascript - 用自定义库包装 jQuery、dojo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com