2013-08-27 62 views
1

我有三個模型和視圖模型相互依賴進行驗證。 此外,模型必須對彼此的變化作出反應。例如,如果ModelA.Prop1被修改,則ModelB.Funds必須從數據庫重新填充。MVVM模型間驗證

你如何在MVVM中實現這一點?

回答

1

您如何解決這可能取決於您的設置。

如果您導致或檢測到ViewModel中的更改,您可以從ViewModel中啓動刷新。因爲允許ViewModel知道Model,所以您仍然可以堅持使用MVVM模式。對於ViewModel之間的通信,例如在ModelA的ViewModel和ModelB的ViewModel之間,您可以使用消息傳遞系統,如MVVM燈中的消息代理。

如果模型包裝在存儲庫中,則可以使存儲庫負責同步模型。這樣你就可以儘可能延遲同步。

我要說的是,如果模型如此依賴,你可能會看一個模型而不是兩個。先檢查一下!如果您覺得需要在兩個模型之間建立大量的同步和依賴關係,這顯然表明您可能正在查看單個模型。不要混淆模型和類;模型可以有多個類。