DDD之領域服務與領域事件

2021-10-02 18:45:25 字數 328 閱讀 4268

領域中的服務表示乙個無狀態的操作,它用於實現特定於某個領域的任務。這裡我們要搞清楚什麼樣的操作需要實體,值物件,什麼樣的操作需要採用領域服務。

另外,領域服務不是應用服務,在應用服務中我們不需要處理業務邏輯,業務邏輯都落在領域服務中。

領域服務發現:

領域事件通常是用來與其他聚合解耦的,採用觀察者模式,乙個聚合訂閱另外乙個聚合的事件。

如果是同乙個限界上下文時,通常採用程序內的訊息發布領域事件,具體實現可以參考我的這篇部落格《spring data實現領域事件》

如果是在不同限界上下文時,我們可以採用訊息中介軟體,比如rocket mq,kafka進行訊息的訂閱與發布。

DDD 領域物件與領域服務

什麼是領域物件 什麼是領域服務 領域物件的行為,與領域服務的行為區別 為什麼把這麼小的點拿出來講,最開始在討論中領域物件與領域服務時,覺得行為放在service entity中區別不大,只是乙個放置位置的問題,並不影響到 的抽象和復用,所以沒有實行。但是最近在推動產品進行ddd業務建模,發現這個問題...

DDD 領域驅動設計學習(三) 領域事件

在eric的 領域驅動設計 中並沒有提到領域事件,領域事件是在後來才被正式提出來的,並成為ddd通用語言 ul 的正式組成部分。領域事件 de 是什麼?領域事件的作用又是什麼?介紹領域事件的書籍和文章也比較多了,本文最後也推薦了幾篇很好的文章。寫這篇文章更希望多思考一下自己的一些疑問,乙個是為什麼要...

DDD 領域服務的規約模式

回到目錄 規 約 specification 模式 第一次看到這東西是在microsoft nlayer專案中,它是微軟對ddd的解說,就像petshop告訴了我們mvc如何使用一樣,這個規約模式最重要的作用是實現了查詢語句與查詢條件的 分離,查詢語句在底層是穩定的,不變的,而查詢條件是和具體業務,...