我正在檢查夏普體系結構的代碼。到目前爲止,這很酷,但我在解決如何在框架中實現DDD值對象的問題時遇到問題(在代碼中似乎沒有任何提及這一點的東西)。我假設基本實體類和存儲庫基礎僅用於實體。關於如何在框架中實現值對象的任何想法?夏普體系結構值對象
0
A
回答
0
在Sharp Arch中,名稱空間SharpArch.Domain.DomainModel中有一個類ValueObject。該對象從BaseObject繼承,並重寫==和!=運算符以及Equals()和GetHashCode()方法。該方法重寫只調用這兩個方法的BaseObject版本,這兩個方法依次使用GetTypeSpecificSignatureProperties()方法獲取要在等式比較中使用的屬性。
底線是實體的平等是
- 參考平等
- 同類型確定的?
- ID是裝飾用[DomainSignature]屬性
對於ValueObjects所有屬性的相同
- 參考平等
- 相同類型的equals?
- 比較所有的公共屬性
這是簡化的一點點,我建議你從GitHub獲取最新的代碼,通過代碼中提到的3班念自己。
編輯:關於持久性,this SO question可能會有所幫助。除此之外,請參考官方的NH和Fluent NH文檔
1
值對象是不需要基類的簡單對象。 (實體具有基類的唯一原因是基於標識提供相等性)。實現一個值對象就意味着創建一個類來表示你的域的值。很多時候,值對象應該是不可變的,並提供相等比較方法來確定與相同類型的其他值對象的相等性。看看here。
相關問題
- 1. 夏普體系結構WCF
- 2. 夏普體系結構成員資格
- 3. 使用GUID的夏普體系結構
- 4. 夏普體系結構替代
- 5. EntityWithTypedId的夏普體系結構問題
- 6. 夏普體系結構忽略我的公式映射
- 7. Winform應用程序的夏普體系結構?
- 8. NHibernate和夏普體系結構 - 數據庫連接更改後不刷新NHiberate.config
- 9. 在溫莎城堡/夏普體系結構中處理許多存儲庫
- 10. WCF與夏普體系結構 - 所需的類型依賴不能與ServiceLocator
- 11. 註冊夏普體系結構的自定義模型聯編程序
- 12. 自定義夏普體系結構代碼生成嚮導實施
- 13. 對象體系結構設計問題
- 14. stackmob 1對多關係體系結構
- 15. 系統IOException流讀取與夏普SSH結束
- 16. TypeInitializationException試圖使用夏普架構ServiceStack
- 17. 夏普架構2.0單元測試
- 18. 夏普架構 - 入口點未找到
- 19. 夏普架構簡單的CRUD應用
- 20. NHibernate和夏普體系結構中的一個地方指定數據庫和驗證的字段長度
- 21. MVC體系結構
- 22. Graphql體系結構
- 23. Rails體系結構?
- 24. mongodb體系結構
- 25. Firebug體系結構
- 26. CakePHP體系結構
- 27. Elasticsearch體系結構
- 28. Tab控件夏普
- 29. 一般對等體系結構
- 30. 針對體系結構的i386
因此,如果我正確地得到了您,Sharp架構上下文中的值對象將僅僅是一個POCO對象,而不是從任何東西繼承?即便如此,在我的持久性機制中,它可以由一個單獨的表格代表,對吧?但我如何鏈接我的價值對象類和我的數據庫? –