node.js使用域驱动devise

我正在将应用程序从c#移动到node.js。 我正在学习node.js,所以我是一个node.js新手。 我正在阅读“域驱动devise的模式,原则和实践”一书,并发现了我目前的项目可以从中受益的大量信息。

例如,在本书中,有一个示例电子商务应用程序包含三个边界上下文:销售,运输和计费。 每个有界的上下文都负责自己的数据库,每个有界的上下文都运行在NServiceBus的一个实例中。 这似乎是一个很好的方法,因为一切都在相同的解决scheme,但不同的项目运行。 把这个翻译成node.js,我有一些混乱的地方。

1)我有一个很难find好的例子,像上面的电子商务例子一样,将dd.js和ddd合并在一起? 任何链接到良好的node.js示例代码将不胜感激。 这里的一些障碍是如何处理oop的差异。

2)如果在示例代码中,每个有界的上下文都在它自己的项目中,并在NServiceBus中运行,这是否意味着在将其转换为node.js时,我使用vscode作为GUI,我需要创build一个单独的父项文件夹(有界的上下文),并为每个有界的上下文提供一个不同的端口来监听,如果我想要所有有界的上下文在同一台服务器上运行,直到我需要相应地缩放?

3)NServiceBus允许消息和事件传回。 对于node.js,存在哪种服务总线技术,最好是开放源码,并且可以在基于Linux的机器上运行,这将提供NServiceBus提供并可靠的functiontypes? 我应该只看看使用rabbitmq来提供这个function,包括发送事件?

您可能对wolkenkit感兴趣, 它是一个Node.js和JavaScript的CQRS和事件源框架,与域驱动devise(DDD)一起运行良好。

除了实际的框架(作为npm模块wolkenkit部署)之外,还有一些示例应用程序可以显示事情的工作方式:

  • wolkenkit-todomvc是使用DDDbuild模的古典TodoMVC应用程序
  • wolkenkit-boards是一个类似于Trello的团队协作软件
  • wolkenkit-nevercompletedgame是nevercompletedgame.com游戏的wolkenkit版本
  • wolkenkit-geocaching是一个pipe理用于寻宝的caching的应用程序

除此之外,您可能还想看看wolkenkit的文档 ,尤其是那些可以下载的手册 ,这些手册解释了DDD,事件源和CQRS,它们是什么,它们是如何相互关联的,等等。

PS:请注意,我是wolkenkit的作者之一,所以请带上我的答案。

我会build议通过标记为ddd的npm模块:

并用服务总线标记:

另外还有一本由Philipp Fehre撰写的JavaScript领域驱动devise书。