node.js - 如何在模块中构建nodejs应用程序?

标签 node.js express entity domain-driven-design

请告诉我哪个选项更好?

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

  • 获取趋势轨迹
  • 获取我最喜欢的轨道
  • 喜欢追踪
  • 与Track不同
  • 获取我的播放轨道
  • 播放轨道
  • 获取ArtistTracks

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

  1. 跟踪模块

    • 获取趋势轨迹
  2. 喜欢模块

    • 获取我最喜欢的轨道
    • 喜欢追踪
    • 与Track不同
  3. 监听历史模块

    • 获取我的播放轨道
    • 播放轨道
  4. 艺术家模块

    • 获取ArtistTracks

最佳答案

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

如果项目很小并且您不希望有很多新功能,选项 1 是一个不错的选择。它将把所有的东西都放在一起,你将能够轻松地找到和修改它们。

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

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

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

我强烈建议您看看虚幻引擎。它具有非常好的模块化架构。它有一个巨大的代码库,因此为了使其易于管理,他们将引擎分成了多个模块。您可以查看here

关于node.js - 如何在模块中构建nodejs应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047612/

相关文章:

javascript - 将 mustache.js 部分与 express 结合使用

validation - 验证实体中的值 - 通过 setter 或断言验证?

java - 执行 native 更新查询后,检索到的实体中仍然存在旧值

php - 学说 2 实体 : are they supposed to contain logic?

javascript - 如何查找表单参数的存储位置并在请求中使用它们

mysql - node.js和mysql连接池不导出

node.js - 连接角色 : Define User Roles on Login and User. 是函数

javascript - 解析一个 Json(带有数组和对象)并将数据导出到 Node.js 中的 Excel 文件中

mysql - 如何使用准备好的语句使用数据数组更新多列?

node.js - Express js 路由无法按预期使用 MEAN 堆栈