從實際角度來看,您如何將域模型調整爲MVC模式?例如,我可以使用一些包裝類嗎?將mvc應用於域驅動設計
1
A
回答
3
他們沒有真正的關係。
MVC是一種設計模式,用於分離存儲數據(模型),呈現數據(視圖)的各種視圖以及與數據(控制器)交互的關注點。雖然它可能是一種「設計」模式,但它確實是關於代碼設計的。這些視圖通常但不一定用於GUI。
域驅動設計是一種設計軟件的風格,您專注於對域進行建模以創建問題域的共享良好理解模型 - 「域模型」。領域驅動設計不僅僅是「設計」,而且代表了各種利益相關者之間的代碼,要求和對話等。
所以,你不會真的「適應」另一個,儘管你當然可以使用您的域模型中的對象實現MVC。例如,如果您爲BankAccount實體建模併爲其編寫了相應的類,則可以將其用作MVC三元組中的模型。也許控制器處理存款和提取現金,並在模型更改時更新多個視圖(例如借記卡,信用卡和摘要視圖)。有多種風格的MVC,根據您選擇的內容,您最終可能會修改您的域模型。例如,當模型實體發生變化時,您可以使用觀察者模式來通知您的視圖。這確實意味着你將混合非域概念(觀察者註冊,通知等)到你的域對象中。在這種情況下封裝域對象可能會更好,以保持域模型和表示層之間的乾淨分離,如果這對您很重要。也許這就是你將一個「適配」到另一個的意思。
相關問題
- 1. MVC Web應用程序的域驅動設計與數據庫驅動設計
- 2. MVC .NET形式與域驅動設計
- 3. 域驅動設計
- 4. 域驅動設計應用服務
- 5. 濫用域驅動設計
- 6. 實施域驅動設計
- 7. 域驅動設計服務
- 8. 域驅動設計isDirty,isNew
- 9. 域驅動設計聚合
- 10. 域驅動設計問題
- 11. Django和域驅動設計
- 12. 域驅動設計映射
- 13. 域名驅動設計
- 14. 域驅動設計驗證
- 15. 域驅動設計聚合根設計
- 16. 領域驅動設計 - 設計決策
- 17. 域驅動設計和域事件
- 18. 使用域驅動設計的node.js
- 19. 域驅動設計和聚合引用
- 20. 使用領域驅動設計原則
- 21. 域驅動設計挑戰 - 實體屬於哪個域?
- 22. 處理異常,在N層,領域驅動設計,MVC應用程序
- 23. 域驅動設計 - 用於定義角色的接口
- 24. 適用於域驅動設計原則的最佳實踐?
- 25. 如何在設計通用系統時應用領域驅動設計原則?
- 26. MVC下的領域驅動設計的替代方案
- 27. MVC +領域驅動設計中的文件夾結構
- 28. 域驅動設計 - 文檔轉換應用程序
- 29. 桌面應用程序中的域驅動設計
- 30. 在.NET中應用領域驅動設計的最佳實踐?
「在這種情況下封裝域對象可能會更好,以保持域模型和表示層之間的乾淨分離,如果這對您很重要的話。也許這就是您將」適配「到另一個」 是的,這就是我的意思。由於領域模型應該是貧血,我想知道是否使用包裝或不。感謝您的反饋。 – 2010-05-13 13:28:58