我玩過Model-View-ViewModel的一些不同實現,並且一直遇到一種情況,我不確定正確的處理方式。我知道MVVM的目標之一是將View從應用程序邏輯中分離出來,以便可以在沒有View的情況下測試邏輯。將邏輯放在與View沒有依賴關係的ViewModel中解決了這個問題。大。更好的是,如果模型可以從ViewModel中分離出來,那麼它可以被嘲弄。EF4 + MVVM - 在ViewModel中公開實體?
所以我的問題是,如果ViewModel解耦模型從視圖?換句話說,是否可以通過ViewModel將EntityFramework實體展示給視圖?例如,假設在視圖中有一個組合框,用戶可以爲一個地址選擇一個狀態。在AddressViewModel中,應該將State公開爲真實體類型屬性,還是應該將其公開爲StateViewModel?如果它應該是StateviewModel類型的屬性,我不明白如何在AddressViewModel.State設置器中管理底層模型(因爲屬性中設置的是StateViewModel而不是State實體)。
在我看來,這可能無論如何,但似乎更一致,永遠不會將模型直接暴露給視圖。思考?
這在理論上是正確的,但實際上有時事情並不像人們(其中的開發人員)想要的那樣持續不變,例如,未來可能會擴展狀態列表以包含其他國家等。 .. – 2010-11-11 05:38:44
這不是那種會對此決定產生影響的變化。向列表中添加新狀態不會創建要求其屬性在UI中可編輯的要求。 – 2010-11-11 22:05:31