2012-09-20 42 views
1

可能重複:
Why use MVVM?我爲什麼要使用MVVM?

我想在我的WPF項目實施MVVM,但自從我開始我發現很難通過所需的任務來完成。

我正在使用Caliburn Micro for MVVM,我很難從ViewModel調用其他ViewModel屬性,也無法處理像TextBox的GotFocus控件的事件。

MVVM真的比CodeBehind好,我沒有使用MVVM進行測試。

請幫忙。

+3

這裏有很多很多關於SO的答案,強調了MVVM的重要性和需求。請全部閱讀,然後回到這裏。 –

回答

2

MVVM簡化了自動化測試,它可以幫助您通過分離關注點來保持代碼清潔。

如果你不做自動化測試,主要還有第二個原因(還有其他的小優點,但這是IMO的主要優點)。如果您在使用純MVVM時遇到困難,您可能需要考慮使用混合方法:儘可能多地保留視圖模型,但如果代碼更具可讀性,不要害怕使用後面的代碼。

不要忘記:MVVM是一種工具,而不是一個目標!它應該讓你的生活更輕鬆,而不是更難。如果爲了避免單行GotFocus處理程序而必須在兩層間接中編寫50行樣板代碼,您可能會過度使用它。