在維護模型 - 視圖模型關係(例如,爲模型的每個實例創建vm實例)之後爭鬥了一段時間,我有一些可能頗有爭議的想法,但我好奇的意見。MVVM和從模型到視圖模型的隱式轉換
如果使用VM類來維護模型實例的靜態容器列表會怎麼樣? 那些可能(甚至應該)是弱引用,所以無論何時模型類實例超出範圍,它的視圖模型都會自動處理。另一個選擇是重用虛擬機實例。
另一種適用於第一種方法的想法可能是創建一個從模型到視圖模型類的隱式轉換運算符。每當從模型實例投射時,我總是會獲得同樣的vm實例。
您對此有何看法?這是否違反規則和MVVM模式?
//編輯 我應該也可以提供這背後的動機:在我的應用程序中,我有多個地方使用我的模型類之一,並需要相應的vm引用。在每個這樣的地方,我需要觀察一個集合並對變化做出反應 - 創建或刪除虛擬機實例。這與在許多地方重複的代碼基本相同=>我認爲只創建一個地方來做到這一點(隱式轉換隻是一個糖果,它不需要解決實際問題)。或者,也許而不是靜態列表我應該創建一個管理器來處理所有類的視圖模型實例創建?
現在幾年後,你有沒有發現一些缺點?看到基本上重複的代碼會很有趣,但我不認爲這是正確的? – WiiMaxx 2015-07-22 13:53:26