我目前正在對具有相當標準的分離結構這樣一個項目:在MVVM和MVC之間共享模型?
庫 - >服務 - >查看模型 - >查看
資源庫和服務層使用POCO對象。視圖模型是根據這些對象構建的,然後調用服務方法,然後傳遞給視圖。
我有兩個前端項目,一個使用MVC3的Web應用程序和一個使用WPF的桌面應用程序。 視圖模型包含在獨立類庫中,因爲大多數應用程序都是相同的。 (有一些例外,但是這些都是針對每個項目使用特定的虛擬機進行處理的)
目前我處於奠定基礎並且MVC方面都工作的階段。我現在正在看WPF方面,並考慮使用MVVM光工具包。我的問題是:鑑於MVC和WPF應用程序共享視圖模型,MVVM輕工具包(或任何其他工具包)是否合適? MVVM輕工具包不應該與MVC3一起使用嗎?
我搜索了很長一段時間,發現沒有具體的東西。預先感謝您的想法。
感謝您的信息。看了MVVM工具包多一點,我不得不說你可能是對的。它看起來像是針對WPF或基於Silverlight的應用程序。我認爲這對於MVC3來說並不合適。 – Steve
我已經標記爲正確的,因爲在MVC3和WPF應用程序之間共享相同的viewmodel是不可行的。但是,我所做的是擁有一個帶有視圖模型及其所有屬性和驗證的類庫。這些是MVC3使用的視圖模型。然後我擴展其中的每一個以添加所有命令等。這些是WPF使用的視圖模型。這使我的代碼保持乾爽,具有所有必需的好處,而不是在兩個地方定義相同的屬性,驗證等。 – Steve
你能詳細闡述一下你的方法嗎?我面臨着類似的情況,我想在MVC網站上重用我的數據層(POCO類),並通過MVVM for Win8和WindowsPhone公開它們。你是否將inotifychanged的東西添加到底層的POCO?或者在需要MVVM階段的鏈中稍後注入它們? – SelAromDotNet