Dot-Net

啟動 WPF MVVM。使用框架?

  • February 28, 2014

我在 stack overflow like this & mix10 building your own mvvm framework中查看了一些問題

我想知道作為初學者是否最好從頭開始(但我從影片中聽說,不推薦)或使用框架

還有哪個更適合作為初學者學習的框架?我發現在閱讀了很多文章甚至教程影片之後,我仍然很迷茫。我可能會在這里和那裡得到零件,但仍然沒有。

caliburn micro一個小框架好學嗎?或者來自微軟的東西,比如 MVVM 工具包或 Unity/Prism(順便說一句,所有這些 MS 框架的差異是什麼)?MVVM 燈?

我的 0.02 美元:

幾週前我開始使用 WPF / Mvvm 模式,我絕對可以推薦的一條路線是首先開始一個測試項目,閱讀很多關於 mvvm 的內容,然後嘗試自己實現它(即使它只是通過使用元件別人的東西)。實現一些東西,多讀一些,回去改變一些東西,然後再讀一些。

在前 2 週這樣做,你會了解它的實際含義,你會看到一些問題並找到一些解決方案,等等。基本上,這將使您掌握 mvvm-idea,並為您提供一些動手經驗。

然後,如果您願意,可以放棄您的測試項目,決定是否真正開始編寫自己的東西或使用現有工具包,並且可能對現有工具包的工作方式有更多的欣賞和理解。

我最終沒有使用現有的工具包,而是我自己的非常簡單的實現,因為我的項目不需要太多複雜性,但我確實對我在網際網路上看到的一些實現得到了更多的讚賞。

編輯:當我談論“兩週”時,我的意思是“兩週的業餘時間”,大約是 25 個實際小時;-)

IMO,無需使用框架。MVVM 只是一種做事方式。

首先,您只需要一個**RelayCommand**類,因此您可以將命令綁定到您的視圖模型。您可以從Josh Smith MVVM 基金會下載它

然後,當您更高級時,您可以添加其他類,例如:

  • ObservableObject:這旨在成為 ViewModel 類型或任何必須提供屬性更改通知的類型的基類。它實現INotifyPropertyChanged 並且在調試版本中將驗證通過 PropertyChanged事件傳遞的所有屬性名稱都是有效的屬性。這個類曾經被稱為ViewModelBase.
  • Messenger:Messenger 類是一種在不需要相互了解的各種 ViewModel 對象之間傳遞消息的輕量級方式。這是基於 MediatorMarlon Grech 和 Josh Smith 創建的實現,如 Marlon 的部落格所示。

引用自:https://stackoverflow.com/questions/3606883