domain-driven-design

    0熱度

    1回答

    我正在努力與實體和值對象的概念。 我已閱讀關於實體和值對象之間的差異,但我無法將知識轉移到我的示例。 我想創建一個aggreagte「零售商」 零售商有屬性「ID」,「姓名」,「住址」(街,郵編,國家)和 GPS座標(經緯度) 我的「聚合根」是entitiy「零售商」。 這裏的價值客體是什麼,客體的屬性是什麼? 地址是實體「零售商」的屬性還是「地址」值對象? 「GPS」是由它自己的值對象還是值爲「

    1熱度

    1回答

    我正在DDD中創建應用程序。我想知道兩件事: 1-在RegisterUserHandler中創建值對象(id,email,password)是否正確?或者我必須創建一個特定的類來做到這一點? 2-有必要創建一個工廠到一個簡單的實體創建。我使用userfactory創建用戶,但我可以直接放入下一行:「$ user = User :: register($ id,$ email,$ password)

    0熱度

    1回答

    我知道在DDD中刪除一個聚集根將意味着一次刪除聚集邊界內的所有東西。 但我注意到,讀模型(只讀屬性)集合文件中被用作列夫Gorodinski在這個博客中指出:http://gorodinski.com/blog/2012/04/25/read-models-as-a-tactical-pattern-in-domain-driven-design-ddd/ 但那些車型是aggregate.So,我

    2熱度

    2回答

    我有兩種模式:User和Room。一個用戶屬於很多房間,而一個房間有很多用戶。 目前我有 public class User extends BasePersistable { private static final long serialVersionUID = 1492535311821424305L; @Column(nullable = false, unique

    0熱度

    1回答

    我正在重構DDD的應用程序,迄今爲止這麼好,但我對某些責任以及解決問題的最佳方法有疑問。 該應用程序是呼叫中心代理使用的一個Web應用程序,使用CRM功能,後端是一個REST API。 用例如下:代理呼叫一個客戶,需要收集一些信息/提供促銷活動等。 在給客戶打電話並與他交談後,他需要填寫一些信息,該信息是組合框,數據從數據庫中填充數據,並且將帶有實體ID的POST發送到端點以註冊它。因此,我們有一

    0熱度

    1回答

    Spring Data的@DomainEvents與AbstractAggregateRoot工作很好,但在其使用的域對象上失敗repository.save(Iterable<S> entities)。 的錯誤跟蹤如下: - java.lang.IllegalArgumentException: object is not an instance of declaring class at s

    1熱度

    1回答

    我知道在DDD中刪除聚合根必須一次刪除聚合邊界內的所有東西。 但是在vaughn vernon在此處給出的敏捷示例https://vaughnvernon.co/?p=838 BackLogItem和Product Aggregates存在於單獨的聚合中,而BackLogItem聚合根通過Id引用Product Aggregate Root.So,如果要刪除Product Aggregate Ro

    3熱度

    1回答

    我正在研究聚合,其中某些行爲可以由應用程序中的多個角色執行。但在此之前發生相當複雜的驗證。這是每個角色不同的驗證。通常意味着檢查不同的配置設置以確定是否可以執行該操作。 所以,作爲一個例子:讓我說我有一個訂單,我可以添加OrderLines。如果我有角色員工,我可能會訂購高達€100, - 如果我有角色買方,我可能會被允許訂購高達€1000, - 。 您可以通過將用戶實例提供給addOrderLi

    0熱度

    4回答

    一個問題: 在有關領域模型的討論中,通用語言(UL)的許多方面是由團隊成員在德國使用的(所有德國揚聲器),而英文版則在分析模型和代碼模型中使用。 解決此問題的最佳做法是什麼?我們是否應該強迫我們在討論中使用英文術語,或者翻譯建模和實施這個術語是否可以?

    0熱度

    2回答

    我正在建立一個財務應用程序,我有兩種方法來計算信用餘額 所以我嘗試遵循基於域驅動設計的設計,我感到一些困惑的方面如何構成我必須注入餘額計算器在信貸實體中。 我嘗試插入信貸叫IBalanceCalculator一個接口,然後當我在信貸調用方法CalculateBalanceAtDate這確定是什麼情況下使用 這就是例子 credit { protected IBalanceCalculta