首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

MVVM 解決方案標準結構:Models / ViewModels / Views 三層分離與項目組織最佳實踐

     編輯:關於.NET

成熟的 MVVM 專案建議採用 解決方案資料夾 邏輯分層,而非物理資料夾,實現編譯單元獨立、依賴清晰、增量部署友好的架構。

標準三層解決方案結構

  • Models:實體、資料訪問、服務代理,純類庫,零 UI 依賴
  • ViewModels:表示邏輯、命令、狀態、資料整形,專為 View 服務的「Model for View」
  • Views:XAML、Style、Template、UserControl、Window,僅含純 UI 代碼

擴充資料夾:Services、UnitTests、Common 等視專案需求添加。

專案內部結構慣例

Views 專案:

Fonts/
Images/
Styles/
UserControls/
Windows/
App.xaml

ViewModels 專案:按功能模塊組織,如 CustomerViewModel、OrderViewModel,共用邏輯抽象為 CommonViewModel。

為何分離專案而非資料夾?

  1. 編譯產物獨立:輸出 .exe/.dll,修改邏輯只替換 BLL DLL,無需重新部署整個 UI
  2. 強制依賴方向:View 參考 ViewModel,ViewModel 參考 Model,禁止反向引用
  3. 解決方案資料夾僅邏輯分組:不佔磁盤、可右鍵編譯、不干擾專案內部物理結構

輸出路徑統一與版控策略

  • 所有專案 Build Output Path 指向方案根目錄 \Debug (或 \Release),便於打包、啟動調試、資源整合
  • 各專案 bin/、obj/ 加入 SVN/Git 忽略清單,避免提交編譯產物

跨平台擴展提示

共用 ViewModels + 平台專屬 Views (WPF / UWP / Xamarin.Forms / Avalonia) 是最大公約數復用策略,本結構天然支援此擴展。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved