3

我正在建立一个用于教育目的的图书馆;我的库中有很多模块。

我的一个模块在我的整个应用程序中都非常需要。将此对象存储在可以从需要它的其他对象内部引用的单例全局对象中,还是将其作为属性提供给每个需要它的对象更好?

我知道这可能有很多固执己见的答案,但这仍然是我处于十字路口的一个问题。

4

1 回答 1

1

您提到的第二个选项本质上是依赖注入。因此,您可以通过模拟注入的对象来获得代码可测试性的内在优势。

因此,如果此模块不需要“其他”第 3 方模块从外部访问,您也可以尽可能避免全局污染。如果你可以将它注入到你自己的所有模块中,那么你应该不需要公开它。

这是我的看法,将更高级别的设计模式带入 Javascript 世界只会让我们变得更好,并且非常重视依赖注入。

于 2013-06-05T00:10:35.353 回答