nest编程开发思想

81 阅读1分钟

OOP、FP、FRP

FuncitonProgeamming

函数编程

ObjectOrientedProgramming

面向对象式编程

AOP切面编程

能在不破坏封装功能的前提下,

IOC-InversionOfControl

控制反转:降低代码耦合度,借助于第三方实现具有依赖关系的对象之间的解耦

DI-DependencyInjection

依赖注入 IoC是一种思想&设计模式,DI是IoC的具体实现 它允许在类外创建依赖对象,并通过不同的方式将这些对象提供给类

image.png

Nestjs生命周期

1449235843.png

DTOvsDAO

2705839606.png

项目需求分析

  • 项目用户最痛点的问题是什么?
  • 用户功能的最小闭环
  • 辅助最小闭环的实现到项目上线,需要什么技术&方案

项目技术栈

  • Nestjs+TypeScript作为后端
  • ORM库:TypeORM->官方的数据库对接方案
  • Bootstrap5.x+vue作为前端方案

接口服务

2714168844.png

核心概念

  • controllers控制器:处理请求
  • services服务:数据访问与核心逻辑
  • modules模块:组合所有的逻辑代码
  • pipes管道:核验请求的数据
  • filters过滤器:处理请求时的错误
  • guards守卫:鉴权与认证相关
  • interceptors拦截器:给请求与响应加入额外的逻辑
  • repositories存储库:处理在数据库中的数据