![](/img/trans.png)
[英]Should I restrict the constuction of a domain object to an external service?
假設我有值 object LicensePlate。 它是汽車的一部分,汽車是我域中的一個實體。 但是,構建車牌的邏輯不屬於我的領域,我只是從領域服務RegistrationAgency.obtainPlate(Car car)獲取它,在基礎層中實現為DMV.obtainPlate(Car car ...
[英]Should I restrict the constuction of a domain object to an external service?
假設我有值 object LicensePlate。 它是汽車的一部分,汽車是我域中的一個實體。 但是,構建車牌的邏輯不屬於我的領域,我只是從領域服務RegistrationAgency.obtainPlate(Car car)獲取它,在基礎層中實現為DMV.obtainPlate(Car car ...
[英]DDD Laravel. Repository pattern. How to retrieve an object from persistency and convert it into a not Laravel Entity model?
我在 Laravel 申請 DDD。 在此架構中,實體(由相應的值對象符合)不是 Laravel Model 擴展 class(因為領域層需要與基礎設施無關) 所以...當我在存儲庫實現中檢索一些數據時,結果是標准類 object,我需要將其作為實體 object 返回。 有人知道這樣做的最佳方法 ...
[英]Microservices communication within bounded context
作為我們 DDD 設計的一部分,我們正在處理有界上下文並確定了兩個微服務 A 和 B。 服務 A 需要通過 REST API 調用服務 B。服務 B 已經提供了關於如何獲取任何數據的公開 API 規范。 我們使用 openapi 生成器自動生成客戶端 DTO。 B DTO 到 A 的域 objec ...
[英]Port & Adapter Pattern - invoke multiple implementation of same output port
我對如何按照六邊形架構或端口和適配器模式為我的風格練習實現一個簡單的場景有一些疑問。 我有一個用例(或服務)必須將聯系人(從聯系表收到)發送到外部 API 服務。 public class SendContactUseCase{ //output port interface pr ...
[英]Design Patterns implementation in Domain Driven Design
我正在使用 DDD 和六角架構構建一個應用程序,以 Typescript 作為主要語言。 最近我有一個問題需要觀察者設計模式實現來解決。 現在解決了,我想重構它,首先想到的是移動它,因為我已經把它放在 Domain 層,因為有 2 個接口和 2 個不使用任何第三方庫的接口實現. 即使他們沒有使用第三 ...
[英]DDD Call Adapter from Within Domain Object
我正在使用域驅動設計實現六邊形架構。 我有一個名為“地址”的值 object,它有一個“validate()”方法。 我希望為我域內的地址提供一個默認驗證提供程序,但也允許外部用戶提供一個覆蓋的驗證程序。 所以我創建了一個 AddressValidationAdapter 接口,可以讓外界以“依賴 ...
[英]Multi-module Gradle project - selectively managing dependencies in child modules
假設我有一個多模塊 Gradle Kotlin 項目。 結構如下: main - app runner + 將所有東西粘合在一起modules users users-adapters users-domain orders orders-adapters orders-domain 現在 - 我 ...
[英]Golang with hexagonal architecture with logging middleware. I dont want to pass context to each components and methods
我正在使用六邊形架構在 golang 中開發應用程序。 我需要在我想使用日志的日志中打印 requestId。 為此,我生成了一個隨機請求 ID,並將其與 GIN 上下文相關聯。 假設我想在存儲庫適配器上記錄信息。 我的問題是,在這種情況下,為了能夠記錄,我需要將上下文 object 傳遞給我想要記 ...
[英]domain driven design ports and adapters
我是 DDD 的新手,我正在嘗試將它與 Hexagonal 架構一起應用。 我有以下情況: 用戶聚合應用服務和第三方 REST API 在將用戶持久保存到存儲庫之前我需要調用所以我嘗試使用端口和適配器來實現它,所以我在我的應用程序服務層中有一個接口,它代表第三方功能,並且我在infrastructu ...
[英]I have an interface (domain port) with several implementations (non-domain adapters). Where does the logic for choosing which adapter to use go?
假設我有一個需要調用客戶端的用例,定義為接口、端口。 我想為該端口使用一個實現(適配器)或另一個; 並且選擇使用哪一個取決於業務邏輯 - 例如,用戶所在的國家/地區或更復雜的計算。 就設計模式而言,那種氣味對我來說有點像工廠; 我可以只輸入一個 function 來返回接口,其邏輯根據特定條件返回 ...
[英]Classes and packages encapsulation in an hexagonal architecture
我想知道在 Java (JDK 17) 中是否有一種方法可以輕松處理六邊形架構中的類和包封裝。 我想讓不可用的類出現在域的adapter中。 為了說明我的目標,假設我們有這個 package 組織: 我想要實現的是:從com.company.adapters com.company.domain中看 ...
[英]How to use Spring cache in hexagonal architecture?
在六邊形架構中,領域層不依賴於框架。 是否可以在域層中使用 Spring 緩存? ...
[英]Dependency between adapters in hexagonal architecture Spring Boot
我一直在嘗試重構一個全新的項目以遵循六邊形架構和 ddd 模式。 這是我的域的結構。 我有文件和客戶數據。 就實體而言,將其分開是有道理的。 “外觀”對象將端口與域連接起來。 快速示例: 控制器(應用層)--uses--> Facade --uses--> Ports <--i ...
[英]How to handle authentication to adapters on a Hexagonal Architecture
我正在使用六邊形架構構建一個工作應用程序,並且我有一個名為 CompanySetup 的實體(在核心層中)。 當我的系統收到請求時,我會調用調用 CompanySetupRepository(在核心層中定義的接口)的業務服務。 在適配器層中,我定義了 CompanySetupRepository,它 ...
[英]How can I dockerize multi module Spring app?
我正在嘗試對我的多模塊應用程序進行 docker 化(我正在使用帶有端口和適配器模式的六邊形架構)。 這是我的應用程序的結構:應用程序結構 我的根 pom 是這樣的: 4.0.0 ...
[英]Importing external libraries in the domain layer in DDD
我正在構建一個基於 DDD 和六邊形架構的應用程序。 六邊形架構建議你不應該,比方說,用其他地方的邏輯污染你的域,你的域層應該是“純粹的”並且只包含你的業務邏輯。 但是如果我有一個值對象,我想從外部庫生成一個 ID 怎么辦? 例如 UUID。 這不會污染我的域,但我仍然在我的域層中導入第三方,它應該 ...
[英]Should application layer be aware of the caching mechanism, or could it belong to the infrastructure layer?
假設我有一個 API 端點,它需要一些產品數據才能正確處理請求。 想象一下,有一些應用層服務必須處理合同(例如,讓它成為一個查詢)。 應用層服務與一些外部提供者通信以獲取產品信息。 偽代碼可能是這樣的: 在這樣的解決方案中,應用層知道有一些緩存機制,應用服務首先與緩存通信,然后與提供者通信。 我們 ...
[英]Hexagonal Architecture with Hibernate Reactive and Quarkus
我在 Kotlin 項目中使用 Hexagonal Architecture、Hibernate Reactive with Panache 和 Quarkus。 使用@ReactiveTransactional注釋設置事務邊界。 問題是我必須在域和應用程序層中添加整個Hibernate Rea ...
[英]Updating multiple entities with DDD
我正在使用 Spring Boot 和 Java 和 JPA 開發一個應用程序。我正在使用 DDD,它有多個模塊、應用程序、域和基礎設施層。 該域是普通的 Java。 我有一個域實體Account 。 一個用戶可以擁有多個賬戶。 帳戶有一個類型和State ,但只有一個帳戶可以是“活動的”,rest ...
[英]Union Type for Exceptions
我正在尋找一種可能會濫用 TypeScript 類型系統的解決方案。 我有一個為存儲庫提供端口的服務(存儲庫必須實現的接口),因為該服務不能知道存儲庫的具體實現。 由於這個事實,接口還必須提供服務可以處理的錯誤的定義。 為此,我使用ts-results 。 我可以輕松地將錯誤定義為字符串,但我想在出 ...