2010-09-02 35 views
1

是否有一個名稱爲軟件設計模式,涉及MVC域模型和視圖模型?這是在使用像AutoMapper這樣的工具時使用的模式。什麼是使用域模型和視圖模型(也稱爲AutoMapper)與MVC的設計模式名稱

我試圖向一些同行的程序員解釋這種設計的優點,並將其稱爲MVVM,但我現在認爲這是不正確的,MVVM模式是視圖階段正在改進它的模型自己的目的,而不是改變控制器和視圖之間傳遞的內容。

當然,所有人都會對M和V的數量感到困惑,而不是被困在更多的節點上,我想我會問專家。

回答

0

「相關」的問題與之交互的最佳答案我想我要爲我提供得到。

設計模式在文章How we do MVC – View models中定義得相當好,相應的monica似乎是MVC-ViewModels或MVC-VM。

2

它被稱爲MVC。不,認真。您網站的模型恰好被稱爲ViewModels。

MVC不說什麼模式應該是,它應該只是如何與M和C.

+0

我同意這種方法確實符合MVC模式,但它是一種微妙而重要的改進,它對我能夠貼上標籤會非常有幫助。 – sipwiz 2010-09-03 00:05:26

+0

爲什麼不只是MVC視圖模型? – jfar 2010-09-03 00:27:24

+0

沒有理由不使用這個或任何其他的替代品我只是想看看是否有東西被廣泛使用。現在VMVC或(V)MVC或M(VM)VC或MVC(VM)它確實有點傻,但至少在我的情況下,MVC和MVC(VM)之間的差異可能是每頁請求100次額外的數據庫往返傳輸,所以我想要了解概念和傳達的方式。 – sipwiz 2010-09-03 00:52:51

2

正如您可能已經閱讀或體驗過使用Automapper來映射對象一樣。說到MVC,V(View)和C​​(Controller)非常清晰。 M(Model)模糊了許多人的觀點。 MVC並不強調如何構建模型。您可以通過運行直接的SQL查詢或使用ORM工具(如NHibernate或LINQ2SQL或您選擇的實體框架)來構建模型。

如果你真的想分開擔憂,你可以前進一步,做大多數人的工作。您可以引入存儲庫模式來處理可以使用服務檢索的模型數據。在這種情況下,Automapper會進入你需要映射實體和Dto的畫面。

我不認爲有任何需要削減這種從服務層建模的方法。正常的MVC在這種情況下也是有效的:)