如何在模块中构建 nodejs 应用程序?

How to structure nodejs application in modules?

请告诉我哪个选项更好?

选项 1: 所有这些方法都将在 Track 模块

选项 2:这些方法将在单独的模块中

  1. 跟踪模块

    • getTrendingTracks
  2. 喜欢模块

    • getMyFavoriteTracks
    • likeTrack
    • 不像轨道
  3. ListeningHistory 模块

    • getMyPlayedTracks
    • 播放曲目
  4. 艺术家模块

    • getArtistTracks

这取决于应用程序的大小和未来的发展。

如果项目很小并且您不希望有很多新功能选项 1 是一个不错的选择。它将使所有事物彼此靠近,您将能够轻松找到和修改它们。

对于具有大量功能和较长生命周期的项目,选项 2 更好。通过这种方式,您将能够创建更小且更具凝聚力的模块。这些模块将依赖于其他模块,因此您可以创建模块依赖关系图。通过这种方式,您可以更好地管理应用程序中的依赖关系,这样您就不会得到一团糟的代码。

当您想要添加新功能时,您必须执行以下操作之一:

  • 添加一个新模块。这是选项 2 中最酷的东西。您只需添加一个全新的东西即可获得新功能。
  • 扩展一个已经存在的模块。拥有更小的模块使这更容易。
  • 扩展少量模块。拥有更小的内聚模块也让这更容易

我强烈建议您看一下 Unreal Engine。它有一个非常好的模块化架构。它有一个庞大的代码库,所以为了便于管理,他们将引擎拆分成模块。你可以看看here