Asp.net-Mvc
我應該如何建構一個簡單的 ASP.NET MVC 應用程序?
我一直在閱讀一些關於 ASP.NET MVC、SOLID 等的內容,我正在嘗試為中小型 ASP.NET MVC 應用程序找出一個簡單的“配方”,將這些概念結合在一起;我最關心的問題是控制器過於復雜,就像 web 表單中的程式碼隱藏文件,其中包含所有類型的業務邏輯。
對於小型數據驅動的應用程序,我正在考慮以下架構:
- 控制器:只處理請求,呼叫相應的服務並將動作結果返回給視圖;
- 模型:POCO,處理所有業務邏輯、授權等。依賴於儲存庫,完全不了解持久性基礎設施。
- 儲存庫:實現
IRepository<T>,使用依賴注入,是我的數據庫程式碼所在的位置;只接收和返回 POCO。我正在考慮在控制器和模型之間提供服務,但如果它們只是傳遞方法呼叫,我不確定它會有多大用處。
最後應該有覆蓋模型程式碼的單元測試,以及覆蓋儲存庫程式碼的單元+集成測試(如果可能,遵循“紅-綠”實踐)
想法?
伊恩·庫珀(Ian Cooper)最近對此發表了一篇很好的文章:
簡單的方法:(視圖)使用 ASP.NET 的表示層,(控制器)程式碼隱藏或 AJAX 服務層,(模型)應用程序服務層、業務模型層和持久性/數據訪問層。
當然,您可以通過多種方式來處理複雜性,以建構清晰易讀和可理解的應用程序。
有關該主題的最新討論,我發現它非常好,請查看這本新出版的書:Microsoft .NET:為企業建構應用程序。