# 设计架构

在新窗口观看视频

应用需要一个合适的架构,不然很快就会陷入混乱。我们不可能把应用需要的所有的东西全部放到同一个文件里,这样很快就会乱的不成样子了。可以把应用分割成不同的部分,每个部分里面又可以有自己的一些组件。

在很多重型应用构架里都会给你提供一套应用架构,比如这些框架里可能会有模块,服务,拦截器,守卫,中间件这些东西,在应用里可以创建这些东西,然后把它们组织在一起,框架提供了创建与使用它们的方法。

我们现在选择的是一款轻型框架,对于应用的架构,框架并没有给我们太多建议,它只提供了最基本的东西,比如路由,中间件。换句话说,我们的自由度更大一些,可以自己设计应用的架构。

在失控之前,最好先设计规划一下应用的架构,可以根据应用的功能,或者应用里的资源,把应用分成不同的部分。比如 app(应用),auth(身份验证),user(用户),post(内容),comment(评论) 等等。每个部分都可以放在一个单独的目录里面,

每个部分里面又可以细分成一些不同的组件,比如 router(路由),controller(控制器),middleware(中间件),service(服务) 等等。比如在应用里会出现用户这种内容资源,可以创建一个 user 目录,然后把用户相关的东西放在这个目录的下面,在目录里面可能会包含下面这些文件:

  • user.router.ts
  • user.controller.ts
  • user.middleware.ts
  • user.service.ts

*.router.ts

router 文件里可以定义这个应用模块里的一些路由(接口),比如在 user 这个模块里可以在 user.router.ts 文件里定义跟用户资源相关的一些接口。

*.controller.ts

controller 文件里可以定义模块里的接口需要的处理器,这样在 router 文件里可以导入使用 controller 文件里定义的处理器。

*.middleware.ts

把模块里需要的中间件放在这种 middleware 文件里。

*.service.ts

service 文件里可以定义一些服务方法,其实就是一些函数,在别的地方可以导入使用这些函数。比如在控制器的方法里,可能会重复用到的东西我们就可以把它们定义成服务方法,这样就可以重复使用它们了...

成为一名开发者,把想法变成现实
参加此次开发之旅
订阅