关于直接import还是使用module的疑问
来源:9-7 通用业务系统:日志模块代码重构(作业)

tulies
2023-01-20
老师你好,请教个问题:
很多时候感觉封装成一个工具类/函数export出去使用,感觉比module更方便。
比如像redis,日志这些,有时候一个项目中需要接入多个不同ip的多个redis,项目中要打印很多不同的业务日志单独输出到不同的地方。需要去创建不同的实例。用到的地方就直接import特定的实例去操作是不是更好用啊? 这么做是有什么不好或者影响性能啥的吗?
1回答
-
Brian
2023-01-23
老师你好,请教个问题:
很多时候感觉封装成一个工具类/函数export出去使用,感觉比module更方便。——这种是常规做法哦,没有错。
多个不同ip的多个redis,项目中要打印很多不同的业务日志单独输出到不同的地方。需要去创建不同的实例——我不知道这里是创建了多个连接还是连接了多个不同的redis? 如果是创建多个连接,redis确实需要来操作释放,如果是连接多个redis可以创建一个工具类,然后,类似于工厂函数的做法来创建redis操作的多个单例,其实与nestjs的module差不多,因为nestjs是统一的管理DI依赖实例。
用到的地方就直接import特定的实例去操作是不是更好用啊? ——哈哈,见上面的回复。
这么做是有什么不好或者影响性能啥的吗?——没有,除了上面所说的nestjs的DI系统来管理实例以外,还有nestjs的模块有一个动态模块的用法,动态模块:https://docs.nestjs.cn/9/modules?id=%e5%8a%a8%e6%80%81%e6%a8%a1%e5%9d%97
当需要使用的时候加载模块,这样可以减少初始化系统的开销,提升性能。
142023-02-27
相似问题