淘先锋技术网

首页 1 2 3 4 5 6 7

1.Nest.js依靠MVC框架,说到这里我们先了解一下两个框架的区别。

MVC框架和MVVM框架最本质的区别就是:MVVM能实现View和Model的联动。

 MVC:允许在不改变视图的情况下改变视图对用户输入的响应方式,用户对View的操作交给了Controller处理,在Controller中响应View的事件调用Model的接口对数据进行操作,一旦Model发生变化便通知相关视图进行更新。

MVVM:与MVC最大的区别就是:它实现了View和Model的自动同步,也就是当Model的属性改变时,我们不用再自己手动操作Dom元素,来改变View的显示,而是改变属性后该属性对应View层显示会自动改变

2.IOC(inverse of control)

主要就是通过

通过@Controller、@Injectable装饰器声明类(class) 就会被Nest.js扫描,创建对应的对象并添加到一个容器里,这些对象会根据构造器里声明的依赖 “自动注入”,也就是DI(dependency inject),这就是IOC的思想。

3.AOP(aspect of 

在Nest.js实现AOP的方式有5种:Gurad(守卫)、Pipe(管道)、Interceptor(拦截器)、ExceptionFilter(异常过滤器)、还有Middleware(中间件)。

中间件来实现AOP比较特别,因为Express的中间件洋葱模型,它可以透明的在外面包一层,加入一些逻辑,内层感知不到。Nest.js的Middleware中间件是直接继承于Express框架的

二、一些文件的作用

1.dto文件夹:数据传输

主要就是:传输数据、验证数据。类似于接口,主要组成为路由器/控制器,

2.entities:

三、主要构成:(Controller、Providers、Modules)

(1):Controller

控制器:负责处理传入的Http请求。

(2):Providers

主要处理一些复杂的逻辑。

(3):Modules:

负责整合到应用程序内部。