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