[英]State machines for Entities in DDD and Dependency Injection context?
我一直在研究Spring 狀態機和狀態設計模式,因為我必須使用 Spring Boot 開發微服務和持久化對象,其中有很多需要清理的混亂狀態,我正在尋找一個干凈的設計解決方案混亂。 我檢查了 DDD、狀態概念和狀態機,看看要應用哪些
我不確定如何實現一些概念,以及如何連接它們。 我想了解是否:
@Scope("prototype")
我明白了: - DDD 想要具有更多功能的域對象,就像這篇關於 DDD 的非常完整但有點過時的文章中的簡單數據對象 - 狀態模式應該封裝上下文元素在這種特殊情況下應該如何表現 - 狀態機是關於封裝一個狀態和另一個狀態之間通道的管理 - 如果它們一起工作,狀態不應該決定哪個是特定命令的下一個狀態,而是為狀態機生成一個事件,狀態機將選擇(或阻止有失敗的守衛)新狀態 - 不知何故,新狀態必須由狀態機在上下文中設置
通常 Context 對象應該直接委托給 State 對象。 但是由於狀態機決定了對象狀態的變化,在這種情況下,上下文不應該委托給某種代理狀態嗎? 應該將狀態機注入實體還是代理?
對其中一些問題的任何想法、建議,甚至部分答案都將不勝感激。
順便說一句,我只是
DDD 完全是為了保護業務邏輯,並確保它不會受到基礎設施的影響或耦合。 當您查看一個實體時,您應該直接了解它的功能以及它負責域的哪個部分。
對我來說,狀態機不是域的一部分。 它們是促進者和應用層的一部分,控制域中應該發生的事情。 再說一次,在抽象級別上真的很難回答,因為 DDD 就是在非常“真實”的級別上進行建模。
如果您可以用一個簡單的示例來解釋您要完成的工作,那么您也可以更輕松地編寫更具體的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.