1新手篇:熟悉 NestJS

前言

经过了需求分析以及技术选型之后,我们正式步入了第三个环节:脚手架搭建

工欲善其事,必先利其器NestJS 为开发者提供了很多开箱即用的功能,我们可以根据团队的需求搭建一套适配所有业务开发的基础脚手架。因此,接下来的 2 章是基础篇的教学,我将带领大家逐步学习怎么搭建一套基础业务脚手架,便于后期快速开发业务。

本章的内容比较基础,如果使用过 NestJs 的同学或者对 IoC 模式熟悉的同学可以快速略过。

控制反转 IoC

在之前的介绍中有提到,NestJS 作为开发体验上最接近于传统后端的开发框架,其中最大的相同点就是 IoC,也就是 Java 中经常提到的控制反转

在接下去使用 NestJS 的开发过程中会大量接触到 IoC 模式,所以先对 IoC 做一个简单概念解析,了解一下什么是 IoC,以及为什么要使用 IoC

控制反转(Inversion of Control,缩写为 IoC)是面向对象编程中的一种设计原则,可以用来降低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。

如果学过 Java 的同学应该会比较熟悉,但如果是前端同学刚刚接触的话,可能会比较陌生,一时间难以上手。纯文字版本的解释难免晦涩,接下来我们用一个简单的小例子来解释 IoC 容器的使用:


js

class A { constructor(params) { this.params = params } } class B extends A { constructor(params) { super(params) } run() { console.log(this.params); } } new B('hello').run();

我们可以看到,B 中代码的实现是需要依赖 A 的,两者的代码耦合度非常高。在两者之间的业务逻辑复杂程度增加的情况下,维护成本与代码可读性都会随着增加,并且很难再多引入额外的模块进行功能拓展

为了解决这个情况,我们可以引入一个 IoC 容器:

class A { constructor(params

你可能感兴趣的:(NestJS,项目实战,开发语言,后端,javascript)