POCO類在域驅動設計中具有行爲,如Validate()
方法,是真的嗎?域驅動設計(DDD)中的POCO
0
A
回答
4
是,領域模型的領域驅動設計的類應該重點看行爲,如果這是你的意思。
+0
是的,謝謝。這種方法是否會導致POCO具有依賴性? – Raymound
+0
域模型中的類不應該與應用程序的其他模塊有任何依賴關係。 –
4
是 - 「實體」封裝了數據和對象的行爲 - 所以它不是一個普通的舊合同的對象不再,它是一個域對象。想起來
一種方法是想象沒有你的其他代碼可以看到該對象的屬性,所以他們不能做......
if (myDomainObject.Name != null) ...
他們必須調用
if (myDomainObject.IsValid()) ...
當你改變什麼使得它有效的規則,改變只需要在域對象做,你已經向外部泄露到使用它的代碼停止的邏輯。
2
不。他們沒有像Validate()
這樣的方法。
DDD實體應始終處於有效狀態。這就是爲什麼我們在類上使用行爲(方法)而不是公共屬性設置器。
請問這種做法的原因有POCO的依賴?
否。通常情況下,一切都取決於DDD模型,而不是相反。
相關問題
- 1. DDD:域驅動設計。域名在DDD中意味着什麼?
- 2. 域驅動設計(DDD)陷阱
- 3. 域特定語言(DSL)和域驅動設計(DDD)
- 4. 是什麼讓我的代碼DDD(域驅動設計)合格?
- 5. 域驅動設計
- 6. 行爲驅動開發(BDD)如何與域驅動設計(DDD)協同工作
- 7. 實施域驅動設計
- 8. 域驅動設計服務
- 9. 域驅動設計isDirty,isNew
- 10. 域驅動設計聚合
- 11. 域驅動設計問題
- 12. Django和域驅動設計
- 13. 域驅動設計映射
- 14. 域名驅動設計
- 15. 域驅動設計驗證
- 16. 濫用域驅動設計
- 17. 域驅動設計聚合根設計
- 18. 領域驅動設計 - 設計決策
- 19. NLayered DDD(域驅動設計)中的圖層如何相互對話
- 20. 邏輯Reisde在域驅動設計(DDD)中刪除相關對象的位置?
- 21. 域驅動設計中的服務
- 22. 域驅動設計中的存儲庫
- 23. 域驅動設計中的綁定DropdownList
- 24. 域驅動設計和域事件
- 25. 域驅動設計的缺點?
- 26. 使用域驅動設計的node.js
- 27. 域名驅動的設計和安全
- 28. 領域驅動的設計混亂
- 29. Domain.js的領域驅動設計
- 30. 流利的Nhibernate域驅動設計
域類(POCOs)當然應該包含相關的行爲。驗證方法是否屬於實體類(POCOs)是有爭議的。很多時候,最好讓實體始終有效。 – eulerfx
這種方法是否會導致POCO具有依賴性? – Raymound
依賴於什麼?這種方法迫使您在嘗試創建實體(POCO)之前確保您擁有有效的數據。例如,驗證可以在用戶界面中執行。 – eulerfx