总结

在本章中,我们向您介绍了一组有关对象创建的传统设计模式。 其中一些模式非常基本,但同时又很重要,您可能已经以某种方式使用过它们。

例如,Factory 和 Singleton 等模式是面向对象编程中最普遍的两种模式。 然而,在 JavaScript 中,它们的实现和意义与《四人帮》一书中的设想有很大不同。 例如,Factory 成为一种非常通用的模式,它与 JavaScript 语言的混合性质完美协调,即一半面向对象,一半功能。 另一方面,单例的实现变得如此微不足道,以至于它几乎不是一种模式,但它带有一系列您应该学会考虑的警告。

在您在本章中学习的模式中,Builder 模式似乎保留了大部分传统的面向对象形式。 但是,我们已经向您展示了它还可以用于调用复杂的函数,而不仅仅是构建对象。

另一方面,揭示构造函数模式值得拥有一个自己的类别。 它诞生于 JavaScript 语言本身的必要性,为仅在构造时“显示”某些私有对象属性的问题提供了一种优雅的解决方案。 它以一种本质上轻松的语言提供了强有力的保证。

最后,您了解了将组件连接在一起的两种主要技术:单例和依赖注入。 我们已经看到第一种方法是最简单、最实用的方法,而第二种方法更强大,但实施起来也可能更复杂。

正如我们已经提到的,这只是完全致力于传统设计模式的三章系列中的第一章。 在这些章节中,我们将尝试教授创造力和严谨性之间的正确平衡。 我们不仅想表明有一些模式可以重用来改进我们的代码,而且它们的实现并不是最重要的细节; 事实上,它可能有很大差异,甚至与其他模式重叠。 然而,真正重要的是每个模式的蓝图、指导方针和想法。 这是真正可重用的信息,我们可以利用它以有趣的方式设计更好的 Node.js 应用程序。

在下一章中,您将了解另一类传统设计模式,称为结构模式。 顾名思义,这些模式旨在改进我们将对象组合在一起以构建更复杂、灵活且可重用的结构的方式。