ASP.NET MVC 發布初期,社區湧現大量開源專案示範最佳實踐。本文彙整當時最具代表性的專案,作為學習參考與架構對比依據。雖部分專案已停止維護,但其設計思想仍具參考價值。
由 Scott Guthrie、Phil Haack 等人主導,配合《Professional ASP.NET MVC 1.0》一書。完整展示 MVC 開發流程:建立 Model、Controller、View、Repository 模式、單元測試、驗證、AJAX、部署。線上 Demo:nerddinner.com。適合入門者逐章跟著實作。
ASP.NET MVC 官網提供的 Step-by-Step 教學專案,功能極簡(CRUD 聯絡人),適合第一天接觸 MVC 的開發者建立信心。
Rob Conery 主持的系列教學專案,模擬電子商務後台,涵蓋 IoC 容器(StructureMap)、Repository、Service Layer、單元測試、BDD 風格測試。程式碼結構清晰,展示「關注點分離」與「依賴反轉」實務。
微軟曾推薦的部落格引擎專案,採用 LINQ to SQL、IoC、Action Filter 等技術。雖被社區批評架構過度設計、效能問題,但其 ActionFilter 與 IoC 整合方式仍具參考價值。CodePlex 專案頁面已歸檔。
CodePlex 上的 Digg-like 社群網站專案,規模較大,完整實作:MVC + NHibernate + Fluent NHibernate + Windsor Castle IoC + 單元測試(NUnit/Moq)+ 持續整合。適合研究中大型專案架構與測試策略。
基於 ASP.NET MVC、LINQ、WCF、Unity IoC、jQuery 的 SNS 社群網站雛形。雖未完成,但展示:Unity 容器整合、Repository 模式、驗證框架、加密服務等企業級模組整合方式。
專注於 MVC + NHibernate 的最佳實踐框架,提供專案範本、領域驅動設計(DDD)基礎設施、驗證、分頁、權限等現成模組。適合採用 NHibernate 的團隊快速起步。
由 Jeremy Miller 等人開發的替代性 MVC 框架,強調「Convention over Configuration」、行為豐富的 Controller、診斷友善。雖非 ASP.NET MVC 官方分支,但其設計哲學影響後來 ASP.NET Core 的許多決策(如 Middleware、Dependency Injection 內建)。
| 專案 | 定位 | 關鍵技術 | 學習價值 |
|---|---|---|---|
| NerdDinner | 官方入門教學 | MVC 基礎、Repository、測試 | ⭐⭐⭐⭐⭐ 入門首選 |
| MVC Storefront | 進階架構教學 | IoC、Service Layer、BDD | ⭐⭐⭐⭐ 架構設計參考 |
| Oxite | 微軟示範專案 | ActionFilter、IoC、LINQ to SQL | ⭐⭐⭐ 反面教材兼具亮點 |
| KIGG | 大型社群網站 | NHibernate、Windsor、CI | ⭐⭐⭐⭐ 中大型專案結構 |
| Sharp Architecture | DDD 框架 | NHibernate、Fluent NH、驗證 | ⭐⭐⭐⭐ NHibernate 團隊必讀 |
| FubuMVC | 替代性框架 | Convention、行為導向 | ⭐⭐⭐ 框架設計哲學參考 |
開源專案是學習框架最佳教材。建議先 Clone 專案、跑起來、設中斷點追蹤請求管線,再閱讀架構文件。隨著 ASP.NET Core 普及,這些專案雖歷史感較重,但其核心設計模式(Repository、Unit of Work、IoC、Action Filter)在現代開發依然通用。