Node.js 如何在模块中构造nodejs应用程序?

Node.js 如何在模块中构造nodejs应用程序?,node.js,express,entity,domain-driven-design,Node.js,Express,Entity,Domain Driven Design,请告诉我哪个选项更好 选项1:所有这些方法都将在跟踪模块中 getTrendingTracks getMyFavoriteTracks 利克特拉克 架 getMyPlayedTracks 游戏轨道 getArtistTracks 选项2:这些方法将在单独的模块中 轨道模块 getTrendingTracks 类模块 getMyFavoriteTracks 利克特拉克 架 ListingHistory模块 getMyPlayedTracks 游戏轨道 艺术家模块 getArtis

请告诉我哪个选项更好

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

  • getTrendingTracks
  • getMyFavoriteTracks
  • 利克特拉克
  • getMyPlayedTracks
  • 游戏轨道
  • getArtistTracks
选项2:这些方法将在单独的模块中

  • 轨道模块

    • getTrendingTracks
  • 类模块

    • getMyFavoriteTracks
    • 利克特拉克
  • ListingHistory模块

    • getMyPlayedTracks
    • 游戏轨道
  • 艺术家模块

    • getArtistTracks

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

    如果项目很小,并且您不希望有很多新功能,那么选项1是一个不错的选择。它将使所有的东西彼此接近,你将能够很容易地找到和修改它们

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

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

    • 添加一个新模块。这是选项2中最酷的东西。您只需添加一个全新的东西即可获得新的功能
    • 扩展已存在的模块。拥有更小的模块使这变得容易得多
    • 扩展少量模块。拥有更小的内聚模块也会使这变得更容易
    我强烈建议大家看看虚幻引擎。它有一个非常好的模块化架构。它有一个巨大的代码库,所以为了便于管理,他们将引擎分成了几个模块。你可以查一下