2013-04-06 186 views
1

我正在努力學習MVVM,並且我在模型和視圖模型之間進行了區分。MVVM視圖模型和模型問題

如果有人能回答這些2個問題,這將有助於清楚很多了對我來說:

說我有一個Objects類,它是一個包含多個Object一個ObservableCollections視圖模型。 Object類包含顯示在GUI上的字符串的ObservableCollection。

Object類是模型還是視圖模型?

如果Object類只包含一個字符串和一個整數(名稱和值),它是模型還是視圖模型?

+1

值得記住的還是規則你可以只有一個模型和一個視圖,你不必有一個視圖模型。 – ColinE 2013-04-06 13:54:40

回答

1

Model是持有您的數據的類。數據可以是字符串/整數或其他。 Model也可以是這些對象的列表/集合。例如,Person列表的對象仍然可以是您的Model

ViewModel是您的模型和視圖之間的層。它應該用於執行數據所需的任何任務(例如,如果您的模型是一個Person對象的列表,但您只想在您的視圖中顯示年齡大於18歲的人員,則此邏輯在ViewModel

因此,要回答你的問題:

如果你有一個包含了數據(在您的示例字符串列表的對象)它是Model。 即使對象稍微複雜一點(與它所擁有的屬性數量有關),它可能仍然是Model。
業務邏輯應該與模型保持分開。在另一方面Validation可以被添加到模型(例如,以確保一個人的Age財產非負),因爲這是一個關於如何您數據應該表現