不久之前,我開始爲WPF編寫一個對接庫(類似於Avalon)。那時候我的目標是用MVVM的方式來學習。爲了讓事情順利進行,我決定首先設計模型零件的視圖和,並且認爲我稍後會在之間放入一些視圖模型。現在,我完成了所有視圖和模型的工作:視圖獲取模型並直接與它交談,而模型暴露一系列事件以盲目通知聽衆。而且,它的每個視覺方面都可以在XAML中進行重新設置/模板化。事情工作得很好。現在我被困在視圖模型部分。由於這種類型的庫的性質(內容變化和動態重新創建),還有很多代碼仍然要寫在視圖的代碼隱藏部分中,而且我真的沒有看到也有必要爲每個視圖編寫一堆視圖模型類。也許在幾個地方使用一些綁定/指令會很方便,但我並不認爲它能彌補完成純MVVM設計所需的所有重構。我真的需要MVVM嗎?
我明白MVVM設計的優點,我非常喜歡它,但在這種情況下,我無法看到視圖模型如何爲整個事物增加任何價值。
任何想法,建議或更正將不勝感激。
在此先感謝。
有幫助的一件事是與模型沒有1對1映射的視圖。如果您想在一個視圖中顯示來自兩個相關實體的信息,那麼使用該數據填充視圖模型是有意義的。 – Garvin