* 在MVVM添加虛擬機的主要用途*視圖的創建應該是View或ViewModel [MVVM]的一部分?
我們可以說:
視圖模型在MVVM介紹了單元測試的代碼。
如果我們比較MVC和MVVM,MVC單元測試控制器是很難沒有查看。
所以我們又增加了一層ViewModel用於對主代碼進行單元測試。管理模型不會持續存在的一些非持久數據。 ViewModel是爲了管理一些非持久數據而引入的,並且根據用戶輸入將該數據保存到模型中。
驗證模型中的數據更改並按照命令持續保存。
管理數據綁定。
而且也是我見過最MVVM樣本命令結合conatins 視圖模型初始化一些命令的執行另一個視圖。這直接說明視圖依賴於ViewModel。
查看 - >視圖模型 - >模型
視圖模型應該是一個獨立可測試單元。
從視圖#1初始化視圖#2的代碼應該是文件後面的視圖#1代碼的一部分。
示例:
如果我想調用MessageBox(view#2)。 消息框應在視圖#1中調用,並根據消息框結果(是\否) 來執行操作,我們應該在ViewModel#1中調用適當的方法。有了這個ViewModel將是獨立於視圖,我們可以輕鬆地編寫單元測試。
MVC和MVVM是解決相同問題的不同方法,但是不相關。 –