中型WPF客戶端開發專案總結 - 談談MVVM框架
阿新 • • 發佈:2020-04-12
MVVM介紹
mvvm的歷史已經很久了,現在前端3大框架也都是遵照這個模式設計,相信大家也都清楚。
mvvm這個模式最初應該就是由wpf引進的,由MVC、MVP發展而來,最主要的特性就是雙向繫結的概念。
這四個字母分別表示:m(model)模型、v(view)檢視、vm(viewmodel)檢視模型。
具體含義我也不多說,光從字面意思很好理解,實在不瞭解的可以搜尋引擎搜一下。
“框架”
關於這兩個字,我的理解如下:
1. 開發的最基礎腳手架,提供開發約束
2.在1的基礎上,提供模組化開發的能力
3.便捷的SDK和技術抽象、封裝,方便上層開發
4.其它(記起來再補充)
我的選擇
本人從事客戶端開發5年多,但研究MVVM框架的品種得著實不多,目前只使用過Prism和DevExpress自帶的框架。這兩個框架的原始碼看得也比較多(不過現在已經忘得差不多了,原因後面再講),應該算是相對比較成熟的框架了。我所知道的mvvm框架還有很多,比如近些年比較流行的`ReactiveUI`、`MvvmCross`等,都是比較優秀的,應用也很廣泛。
我這個欄目所說的專案中沒有使用mvvm框架,原因如下:
1.該專案由我一個人獨立開發,開發約定了熟於我心;
2. “框架”也是程式碼,它們能實現的,我也能實現(開源的好處);
3.模組之間的通訊有其它技術手段解決;
4.我不需要太過複雜的功能;
5.沒有框架,我可以使用自己喜歡的IOC容器、自己的`Startup`,可自定義性增強;
目前,沒有使用框架的客戶端執行十分良好。