回答
不要不同意上面的大多數,雖然它可能值得擴展一點。
DDD中最重要的概念是關注問題領域。把技術困惑放在一邊,主要集中在建模你想要解決的問題上。因此,將Ajax,ORM,數據庫,框架等置於後臺,並首先確保您擁有完整,準確的問題模型。 (當然,您仍然需要架構組件 - 但它們明確地服從模型)。 DDD將此稱爲「無處不在的語言」 - 這是一種以領域專家和開發人員所使用和理解的術語表達的模型。一個模型,其中類的名稱,方法等來自問題域。
DDD並未強制要求/如何/您如何捕捉該模型,儘管本書暗示使用OO語言來完成此操作。
MDA共享的問題領域相同的概念(PIM,平臺無關模型)。與DDD相反,它建議使用UML創建該模型。但意圖是一樣的:理解問題領域而不用(軟件)架構問題玷污它。
MDA的PSM(平臺特定模型)有點類似於在DDD中應用體系結構模式(例如聚集,存儲庫等)。再次 - 儘管具體情況不同 - 兩者都旨在解決將「純」問題域模型轉換爲完整軟件系統的問題。
所以總結,我會說,他們是在兩個方面相似:
- 模型的核心地位(如@Rui說) - 特別是/域/模型。
- 將架構模式應用於模型以實現目標系統。
hth。
兩個領域驅動設計(DDD)和模型驅動架構(MDA)的根是模型驅動工程(MDE),也被稱爲模型驅動的軟件開發(MDSD)如果僅限於軟件開發領域。參見Wikipedia:http://en.wikipedia.org/wiki/Model-driven_development
MDE下的所有方法都有一個共同點:模型。這個模型如何實現取決於特定的MDE風格。
MDA被認爲過於複雜。一些人認爲DDD太抽象了。我個人最喜歡的MDE實現是DSM和ABSE(未在維基百科文章中列出)。
DDD即將從商業角度接近軟件解決方案,旨在使設計儘可能地接近現實世界。這比藝術更像是一門藝術。
MDA解決了不同的一系列問題。更多細節在這裏:http://xml.coverpages.org/OMG-MDAFAQfinal1.pdf
工程是一門藝術:) – 2015-06-26 06:32:36
- 1. 模型驅動開發vs模型驅動架構vs模型驅動工程
- 2. 數據驅動vs事件驅動模型/架構?
- 3. MDA:模型驅動架構
- 4. 域驅動設計
- 5. 首先使用實體框架模型的域驅動設計
- 6. 實施域驅動設計
- 7. 域驅動設計服務
- 8. 域驅動設計isDirty,isNew
- 9. 域驅動設計聚合
- 10. 域驅動設計問題
- 11. Django和域驅動設計
- 12. 域驅動設計映射
- 13. 域名驅動設計
- 14. 域驅動設計驗證
- 15. 濫用域驅動設計
- 16. 域驅動設計建模查詢
- 17. 狀態模式和域驅動設計
- 18. 域驅動的設計模式澄清
- 19. 域驅動設計聚合根設計
- 20. 領域驅動設計 - 設計決策
- 21. 模型驅動vs模板驅動角2 2
- 22. 域驅動設計和域事件
- 23. 設計方法(域驅動或服務驅動)
- 24. 服務層和模型與域驅動設計的關聯
- 25. 對象模型在領域驅動設計中的重要性
- 26. MVC Web應用程序的域驅動設計與數據庫驅動設計
- 27. 域驅動設計中的服務
- 28. 域驅動設計中的存儲庫
- 29. 訪問控制領域驅動設計
- 30. 域驅動設計(DDD)陷阱
如果您可以爲您已完成的研究提供一些背景知識,它可能會幫助人們回答這個問題。 – 2010-11-12 16:34:18