总结

结构设计模式无疑是软件工程中最广泛采用的设计模式之一,对它们充满信心非常重要。 在本章中,我们探讨了代理、装饰器和适配器模式,并讨论了在 Node.js 上下文中实现这些模式的不同方法。

我们看到代理模式如何成为控制对现有对象的访问的非常有价值的工具。 在本章中,我们还提到了代理模式如何支持不同的编程范例,例如使用变更观察者模式的反应式编程。

在本章的第二部分中,我们发现装饰器模式是一个非常宝贵的工具,能够向现有对象添加附加功能。 我们发现它的实现与代理模式没有太大区别,并且我们探索了一些围绕 LevelDB 生态系统构建的示例。

最后,我们讨论了适配器模式,它允许我们包装现有对象并通过不同的接口公开其功能。 我们看到这种模式对于将现有功能暴露给需要不同接口的组件很有用。 在我们的示例中,我们看到了如何使用此模式来实现与 fs 模块提供的与文件交互的接口兼容的替代存储层。

代理、装饰器和适配器非常相似,可以从接口消费者的角度来体会它们之间的区别:代理提供与被包装对象相同的接口,装饰器提供增强的接口,适配器提供不同的接口。

在下一章中,我们将通过探索行为设计模式类别来完成 Node.js 中传统设计模式的旅程。 该类别包括重要的模式,例如策略模式、中间件模式和迭代器模式。 您准备好探索行为设计模式了吗?