从nestjs中学习设计模式

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

依赖注入

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

单例模式

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

观察者模式

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

工厂模式

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

装饰器模式

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

相关推荐
打小就很皮...3 分钟前
Vditor 实现混合模式评论,使用 Zustand 本地存储
前端·vditor·enablecomment
喵了几个咪4 分钟前
GoWind Admin|风行 — 开箱即用的企业级全栈中后台框架・内置微服务接口数据聚合能力
微服务·云原生·架构
郝学胜-神的一滴1 小时前
Linux Socket编程核心:深入解析sockaddr数据结构族
linux·服务器·c语言·网络·数据结构·c++·架构
小二·8 小时前
Python Web 开发进阶实战 :AI 原生数字孪生 —— 在 Flask + Three.js 中构建物理世界实时仿真与优化平台
前端·人工智能·python
珠海西格电力9 小时前
零碳园区的能源结构优化需要哪些技术支持?
大数据·人工智能·物联网·架构·能源
Amumu121389 小时前
Vue组件化编程
前端·javascript·vue.js
We་ct9 小时前
LeetCode 6. Z 字形变换:两种解法深度解析与优化
前端·算法·leetcode·typescript
小二·10 小时前
Python Web 开发进阶实战(终章):从单体应用到 AI 原生生态 —— 45 篇技术演进全景与未来开发者生存指南
前端·人工智能·python
J_liaty10 小时前
OpenFeign微服务实战指南
微服务·云原生·架构·openfeign
m0_6372565810 小时前
vue-baidu-map添加了类型组件导致非常卡顿的问题
前端·javascript·vue.js