2016-02-29 135 views
0

我有一個窗口有四個文本框和一個組合。所以,我的模式是這樣的什麼是MvvM模型

Public string FirstName{get;set;} 

Public string LastName{get;set;} 

Public int Age{get;set;} 

Public string Status{get;set;} 

它是正確的還是不

和型號是一對一的對應,在用戶界面元素。

我是對還是不對

+0

不需要您的模型必須與您的UI組件對應1:1。 – Filburt

回答

0

MVVM中的「模型」不描述一個對象,而是一個圖層。通常,不是表示(ViewModel層)或UI(視圖層)的所有內容都屬於模型類別。

通常還有兩個附加層:域/業務層和一個或多個基礎結構層(例如數據訪問)。在域層中,您擁有域模型和(域)服務以及存儲庫的定義(僅限接口)。

存儲庫在基礎架構層實現,因此您的域不知道它們的實現。

通常,您應該只將域模型傳遞給ViewModel,除了可能是簡單的CRUD操作,您可以直接顯示數據並對其進行編輯,而不需要強制執行業務邏輯。

您不應該將您的域或數據訪問模型綁定到視圖,因爲它有許多副作用(WPF中的內存泄漏,您的視圖現在依賴於域/數據訪問模型,它不是安全的,Refactory適用於類,但不適用於在XAML中綁定的屬性)。

0

問題1:是的,它是正確的!

該模型是您要處理的數據(域)對象的表示形式。

問題2:不,這不是必須的。 更重要的是:模型保留了信息而不是附加的行爲。用戶界面通常由信息和行爲組成。