设计模式实战:在 Node.js 中应用经典模式

设计模式不是僵化的模板,而是经过验证的解决方案。以下是在 Node.js 中最实用的几种经典设计模式。

单例模式 (Singleton)

数据库连接、配置管理器等全局唯一的资源适合用单例模式。在 Node.js 中可以通过模块缓存天然实现——require 的模块只会被执行一次并缓存结果。也可以使用类的静态属性或闭包来实现。

工厂模式 (Factory)

根据参数动态创建不同类型的对象。例如支付系统中,根据支付方式创建不同的支付处理器。解耦了对象的创建和使用,方便添加新的类型。

观察者模式 (Observer)

Node.js 内置的 EventEmitter 就是观察者模式的实现。适用于事件驱动的场景:订单创建后发送邮件、更新库存、记录日志等。解耦了事件的生产者和消费者。

策略模式 (Strategy)

定义一系列算法,把它们封装起来并可以互相替换。例如认证系统中的 JWT、OAuth、API Key 等不同策略。

中间件模式 (Middleware)

Express/Koa 的核心概念。将请求处理拆分为独立的中间件函数,按顺序执行。每个中间件可以修改请求/响应对象,或者终止请求链。

总结

设计模式的价值在于提供共同语言和经过验证的解决方案。不要为了用模式而用模式——让需求驱动设计。