编写Typescript代码时,如何决定将代码放在类中还是仅放在模块中?
例如,假设我有一个AWS lambda,它被实现为小型Fastify服务器。 lambda中可能有几层,较高的层称为较低的层,例如
第1层实现了在路由上定义的方法
第2层实现了路由的核心逻辑
第3层是一个存储库层,抽象出正在使用的任何数据源,例如S3或Dynamo DB,因此对更高层是隐藏的。
除了数据源中的内容外,所有层都没有任何状态。
如果这是用Java实现的,则这些层将是类,它们可能是将它们连接在一起的DI框架。在Typescript中,还有使用某种形式的模块的附加选项。
我如何选择采用哪种方法,为什么?一种方法相对于另一种方法有明显的优点或缺点吗?在Typescript社区中,一种方法更标准吗?