【发布时间】:2021-04-23 03:30:22
【问题描述】:
我在传统的面向对象编程(主要是 C#)方面有很多经验,现在正在学习 NodeJS。我了解 CommonJS 模块在 NodeJS 中是如何工作的,但我很困惑如何将我对如何使用 C# 类和程序集构建软件的现有理解映射到 NodeJS 模块。
在传统的 OOP 中,一切都是一个类,每个类通常是一个文件。然后将许多类编译成一个程序集。
NodeJS 模块始终只有一个文件,就像一个类(大多数情况下)。但是,在运行的应用程序中只创建了一个模块实例,这与类非常不同。所以从某种意义上说,模块感觉更像是 C# 命名空间。一个模块也可以包含多个类/函数构造函数,就像 C# 命名空间可以包含多个类。
然而,一个模块也总是一个文件。如果我要将现有的 C# 应用程序移植到 NodeJS,将单个命名空间下的许多类文件中的所有逻辑移动到一个庞大的模块文件中会感觉不对。但也许我只是习惯了很多小类文件?
在使用 NodeJS 编程时,何时应将代码拆分为单独的模块文件,是否有最佳实践或约定?
【问题讨论】:
标签: c# node.js oop node-modules commonjs