我正在努力學習MVVM,並且我在模型和視圖模型之間進行了區分。MVVM視圖模型和模型問題
如果有人能回答這些2個問題,這將有助於清楚很多了對我來說:
說我有一個Objects
類,它是一個包含多個Object
一個ObservableCollections視圖模型。 Object
類包含顯示在GUI上的字符串的ObservableCollection。
Object
類是模型還是視圖模型?
如果Object
類只包含一個字符串和一個整數(名稱和值),它是模型還是視圖模型?
我正在努力學習MVVM,並且我在模型和視圖模型之間進行了區分。MVVM視圖模型和模型問題
如果有人能回答這些2個問題,這將有助於清楚很多了對我來說:
說我有一個Objects
類,它是一個包含多個Object
一個ObservableCollections視圖模型。 Object
類包含顯示在GUI上的字符串的ObservableCollection。
Object
類是模型還是視圖模型?
如果Object
類只包含一個字符串和一個整數(名稱和值),它是模型還是視圖模型?
該Model
是持有您的數據的類。數據可以是字符串/整數或其他。 Model
也可以是這些對象的列表/集合。例如,Person
列表的對象仍然可以是您的Model
。
ViewModel
是您的模型和視圖之間的層。它應該用於執行數據所需的任何任務(例如,如果您的模型是一個Person
對象的列表,但您只想在您的視圖中顯示年齡大於18歲的人員,則此邏輯在ViewModel
)
因此,要回答你的問題:
如果你有一個包含了數據(在您的示例字符串列表的對象)它是Model
。 即使對象稍微複雜一點(與它所擁有的屬性數量有關),它可能仍然是Model。
業務邏輯應該與模型保持分開。在另一方面Validation可以被添加到模型(例如,以確保一個人的Age
財產非負),因爲這是一個關於如何您數據應該表現
值得記住的還是規則你可以只有一個模型和一個視圖,你不必有一個視圖模型。 – ColinE 2013-04-06 13:54:40