在我們的SqlSugar的開發框架中,整合了Winform端、Vue3+ElementPlus的前端、以及基於UniApp+Vue+ThorUI的移動前端幾個前端處理,基本上覆蓋了我們日常的應用模式了,本篇隨筆進一步介紹前端應用的領域,研究整合WPF的應用端,循序漸進介紹基於CommunityToolkit.Mvvm 和HandyControl的WPF應用端開發。
MVVM是Model-View-ViewModel的簡寫。類似於目前比較流行的MVC、MVP設計模式,主要目的是為了分離檢視(View)和模型(Model)的耦合。
它是一種極度優秀的設計模式,但並非框架級別的東西,由MVP(Model-View-Presenter)模式與WPF結合的應用方式時發展演變過來的一種新型架構。
MVVM模式和MVC模式一樣,主要目的是分離檢視(View)和模型(Model),有幾大優點
1. 低耦合:檢視(View)可以獨立於Model變化和修改,一個ViewModel可以繫結到不同的View上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
2. 可重用性:可以把一些檢視邏輯放在一個ViewModel裡面,讓很多View重用這段檢視邏輯。
3. 獨立開發:開發人員可以專注於業務邏輯和資料的開發(ViewModel),設計人員可以專注於頁面設計,使用Expression Blend可以很容易設計介面並生成xml程式碼。
4. 可測試:介面素來是比較難於測試的,而現在測試可以針對ViewModel來寫。
CommunityToolkit.Mvvm
(又名 MVVM 工具包,以前名為 Microsoft.Toolkit.Mvvm
) 是一個現代、快速且模組化的 MVVM 庫。 它是 .NET 社群工具包的一部分,圍繞以下原則構建: