从nestjs中学习设计模式

作为一个nodejs框架,nestjs有很多设计模式值得我们学习

依赖注入

模块之间的依赖关系通过注入命令来实现,将模块之间的依赖控制反转给框架层,达到松耦合、提高可维护性、可测试性的目的

单例模式

只有一个实例,节省内存并方便共享数据,比如只有一个数据库连接实例

观察者模式

事件机制使用了观察者模式,组件之间通过订阅-发布的形式来互相通讯啦

工厂模式

将多个类组成一个新的类(工厂类),通过一个配置来生成一个复杂的产品,比如配置一台电脑,我们给配置清单,工厂生成一台电脑。我们不需要聚焦电脑的cpu是如何生存的,只需要给出cpu的型号即可

装饰器模式

给一个类动态扩展功能,它和类的继承的最大的差别在是否可以动态添加属性。

相关推荐
PedroQue9919 小时前
uni-router v1.8.0新增冷启动守卫补执行
前端·uni-app
xiaok19 小时前
部署之后,本地浏览器还在读取旧缓存导致页面一直显示loading中
前端
用户0595401744619 小时前
Redis缓存一致性踩坑实录:线上故障排查6小时,我用pytest+内存快照把它永久关进了笼子
前端·css
笨鸟飞不快19 小时前
从 MVC 到 DDD:一次真实的渐进式迁移实录
后端·架构
星栈19 小时前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:第一版先把列表和详情跑通
前端·rust·前端框架
青禾网络20 小时前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
用户17335980753720 小时前
Vue 3 SPA 首屏优化:从 3s 到 1.2s 的 5 个实践
前端·vue.js
咖啡无伴侣20 小时前
基础骨架:30 分钟搭好 pnpm workspace,完成双项目 Monorepo 迁入
前端
谷无姜20 小时前
Webpack5 进阶思考:那些官方文档没讲清楚的事
前端·webpack
weedsfly20 小时前
还在用 Axios?你可能需要重新理解 XHR 与 Fetch
前端·javascript·面试