假設我有一堆微服務,每個都寫在 SpringBoot MVC 上(REST、Controller、Service 等)
誰能解釋一下 SpringBoot MVC 中的 DDD 聚合是什么?它是控制器嗎?或者它是一個特定的微服務,它是其他一些微服務的根?
換句話說,是否在以控制器端點為根的服務中聚合某些東西?或者是聚合一個具有特定 SpringBoot 應用程式/服務的微服務子集作為它們的入口點?
uj5u.com熱心網友回復:
它既不是控制器也不是特定的微服務。
它是一個域物件的集群,可以被視為一個單元(例如訂單及其訂單行)(參見this),由存盤庫檢索、保存和搜索。
spring 框架還提供了一個更專業的@Component呼叫@Repository來表示存盤庫的概念(參考自它的javadoc):
表示帶注釋的類是“存盤庫”,最初由域驅動設計(Evans,2003)定義為“一種模擬物件集合的封裝存盤、檢索和搜索行為的機制”。
實作傳統 Java EE 模式(如“資料訪問物件”)的團隊也可以將此原型應用于 DAO 類,但在這樣做之前應注意了解資料訪問物件和 DDD 樣式存盤庫之間的區別。此注釋是通用的刻板印象,各個團隊可能會縮小其語意并酌情使用。
由于我們使用存盤庫將 JPA@Entity或 MongoDB保存@Document到底層資料存盤,因此 DDD 聚合更符合它們
uj5u.com熱心網友回復:
這里有兩件事。
Spring MVC 是在 HTTP 和應用程式內部之間進行轉換的邊界層。內部是所有 DDD 發生的地方,而不是邊界本身
Spring Boot 用于使用所有常用工具引導應用程式并制作可運行的部署單元。
因此,在 DDD 的情況下,HTTP 請求到達 Spring MVC 層,域請求被實體化并傳遞到域核心執行。然后域回應回傳并由 Spring MVC 層轉換為 HTTP 回應。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425490.html
