簡體   English   中英

使用域驅動設計的node.js

[英]node.js using domain driven design

我正在將應用程序從c#遷移到node.js。 我一直在學習node.js,所以我是一個node.js新手。 我正在閱讀《域驅動設計的模式,原理和實踐》一書,發現我當前的項目可以從中受益匪淺。

例如,在本書中,有一個示例電子商務應用程序,其中包含三個有界上下文:銷售,運輸和計費。 每個有界上下文負責其自己的數據庫,並且每個有界上下文都在NServiceBus實例中運行。 這似乎是一個很好的方法,因為所有內容都在相同的解決方案下運行,但項目不同。 在將其轉換為node.js時,我遇到了一些混亂的地方。

1)我很難找到像上面的電子商務示例一樣將node.js與ddd合並的好的示例? 這里的障礙是如何處理OOP。

2)如果在本書的示例代碼中,每個有界上下文都在其自己的項目中並在NServiceBus中運行,這是否意味着在將其轉換為node.js時,我將vscode用作GUI,因此需要創建一個單獨的父級如果我希望所有受限制的上下文都在同一服務器上運行,直到需要相應擴展,每個項目的文件夾(受限制的上下文)並為每個受限制的上下文提供不同的端口以供偵聽。

3)NServiceBus允許消息和事件向前傳回。 對於node.js,存在哪些服務總線技術(最好是開源的並且可以在基於Linux的計算機上運行)可以提供NServiceBus提供的可靠功能? 我是否應該僅考慮單獨使用Rabbitmq來提供此功能(包括發送事件)?

您可能對wolkenkit感興趣, 是一個適用於Node.js和JavaScript的CQRS和事件源框架,可以與域驅動設計(DDD)一起很好地發揮作用。

除了實際的框架(部署為npm module wolkenkit )之外,還有許多示例應用程序可用來說明工作原理:

除此之外,您可能還想看看wolkenkit文檔 ,並且在那兒,尤其是在小冊子上,您可以下載手冊,其中解釋了DDD,事件源和CQRS,它們是什么,它們之間的關系等等……

PS:請注意,我是wolkenkit的作者之一,所以請帶上我的鹽。

我建議通過ddd標記的npm模塊:

並標有服務總線:

Philipp Fehre還有一本JavaScript域驅動設計書。

這篇文章已有兩年歷史了,但是對於仍然有興趣的人,可以通過以下網址找到用於Typescript / node的DDD框架:

https://github.com/node-ts/ddd

以及受NServiceBus啟發的消息總線,位於:

https://node-ts.github.io/bus/

它們旨在共同構建帶有節點的消息驅動DDD系統

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM