使用装饰器定义模型的一个问题

来源:6-2 koa 访问数据库服务器高性能优化——sequelize 数据库连接池

慕粉3946981

2023-07-02

调整完文件目录后,想使用 decormodel 里面用装饰器定义的模型,需要先执行 BaseDao.ts 将 decormodel 里面的文件当做模型加载到 sequelize 中,然后才可以在 UserDao.ts 文件中使用,现在遇到的一个问题就是,我需要在每个 UserDao.ts 文件中都 import ‘…/…/BaseDao’ 然后才可以使用装饰器定义的模型。
如果我有10个不同的xxDao.ts 文件,我需要在每个 xxDao.ts 文件中 import ‘…/…/BaseDao’ 然后才能基于装饰器模型封装 create、findAll、findOne 方法,请问如何优化这块?

图片描述

图片描述

写回答

1回答

keviny79

2023-07-02

对于目前的 koa 这个框架来说: 想用 某个类可以选择的方法:  1. 继承  ,比如继承 BaseDao  2. 放到全局环境中,比如 context    3. 直接 Import  。毫无疑问这里我们应该选择了 3,如果你选择了继承,必定更麻烦,而context 一般用不太合适用在 dao,service ,因为这会导致项目职责混乱,一般在控制器层和前端返回的成功或失败用的多, 如果同学你懂 java ,你会看到,再牛逼的 java 项目 一个 service层 引入 dao ,也是 import 进来,所以不用想,这已经是最优化的了。

0
1
慕粉3946981
非常感谢!
2023-07-02
共1条回复

前端高手养成计划-从前端到后端,全栈开发大型项目

从纯前端到“真正懂后端的前端”

215 学习 · 134 问题

查看课程