2010-05-13 62 views

回答

3

他們沒有真正的關係。

MVC是一種設計模式,用於分離存儲數據(模型),呈現數據(視圖)的各種視圖以及與數據(控制器)交互的關注點。雖然它可能是一種「設計」模式,但它確實是關於代碼設計的。這些視圖通常但不一定用於GUI。

域驅動設計是一種設計軟件的風格,您專注於對域進行建模以創建問題域的共享良好理解模型 - 「域模型」。領域驅動設計不僅僅是「設計」,而且代表了各種利益相關者之間的代碼,要求和對話等。

所以,你不會真的「適應」另一個,儘管你當然可以使用您的域模型中的對象實現MVC。例如,如果您爲BankAccount實體建模併爲其編寫了相應的類,則可以將其用作MVC三元組中的模型。也許控制器處理存款和提取現金,並在模型更改時更新多個視圖(例如借記卡,信用卡和摘要視圖)。有多種風格的MVC,根據您選擇的內容,您最終可能會修改您的域模型。例如,當模型實體發生變化時,您可以使用觀察者模式來通知您的視圖。這確實意味着你將混合非域概念(觀察者註冊,通知等)到你的域對象中。在這種情況下封裝域對象可能會更好,以保持域模型和表示層之間的乾淨分離,如果這對您很重要。也許這就是你將一個「適配」到另一個的意思。

+0

「在這種情況下封裝域對象可能會更好,以保持域模型和表示層之間的乾淨分離,如果這對您很重要的話。也許這就是您將」適配「到另一個」 是的,這就是我的意思。由於領域模型應該是貧血,我想知道是否使用包裝或不。感謝您的反饋。 – 2010-05-13 13:28:58