首页 > 解决方案 > 如何在模块中构建nodejs应用程序?

问题描述

请告诉我哪个选项更好?

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

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

  1. 轨道模块

    • 获取趋势跟踪
  2. 喜欢模块

    • getMyFavoriteTracks
    • 喜欢追踪
    • 不像轨道
  3. 听力历史模块

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

    • 获取艺术家曲目

标签: node.jsexpressentitydomain-driven-design

解决方案


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

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

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

当您想添加新功能时,您必须做以下几件事之一:

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

我强烈推荐看看虚幻引擎。它具有非常好的模块化架构。它有一个庞大的代码库,因此为了便于管理,他们将引擎拆分为模块。你可以在这里查看


推荐阅读