描述 本篇文章主要概述ASP.NET MVC,具體包括如下內容: 1.MVC模式概述 2.WebForm概述 3.WebForm與MVC區別 4.ASP.NET MVC發展歷程 5.運用程式結構 6.ASP.NET MVC 預設約定 一 MVC模式概述 1. MVC模式運用領域 分析: (1)當前, ...
描述
本篇文章主要概述ASP.NET MVC,具體包括如下內容:
1.MVC模式概述
2.WebForm概述
3.WebForm與MVC區別
4.ASP.NET MVC發展歷程
5.運用程式結構
6.ASP.NET MVC 預設約定
一 MVC模式概述
1. MVC模式運用領域
分析:
(1)當前,MVC作為一種主流框架,被廣泛運用,如JAVA Web開發,.NET ASP,NET MVC
(2)MVC模式被廣泛運用於中間件,如RabbitMQ;
(3)MVC模式廣泛運用於介面開發,如ASP.NET WebAPI;
(4)其他領域;
2.MVC大致流程概述
分析:
(1)MVC由三大核心模塊構成:控制器(Controller,簡稱C),模型(Model,簡稱M)和視圖(View,簡稱V);
(2)View負責視圖呈現,Model負責數據處理,Controller負責處理視圖與模型之間邏輯;
(3)WebForm中,一般是UI+BLL+DAL+Utility+WebService模式,而在MVC中,一般採用SOA+WebAPI+DAL+Model+MQ+AOP+Docker模式;
二 WebForm概述
1. WebForm生命周期
分析:
(1)WebForm Page生命周期,本質上為幾個方法的運用;
(2)重點理解管道;
(3)分析頁面生命周期時,應結合http本質來綜合分析;
2.WebForm請求響應流程概述
分析:
(1).在WebForm中,資源可以分為靜態資源和動態資源:
靜態資源:JS文件,Images文件,CSS文件和Html文件等;
動態資源:.aspx,.ashx,.ascx等;
(2).在WebForm中,瀏覽器向IIS發出資源請求,當IIS收到請求URL時,先判斷該請求是動態資源請求還是靜態資源請求,然後分別按照不同的模式去伺服器搜索資源。
3. WebFrom頁面構成
分析:
(1)WebForm中,每個頁面對應一個類,頁面淚繼承Page類,我們稱為頁面類,如上圖中Default頁面對應的類為_Default,
(2)每個頁面由三部分組成:前端代碼(Default.aspx),後臺代碼(Default.aspx.cs)和設計器(Default.aspx.designer.cs);
三 WebForm與MVC區別
1.WebForm不利於前後端分離,MVC前後端分離;
2.請求url不同,一般情況,WebForm請求的是伺服器上的具體路徑資源(當然你可以配置虛擬路勁),而MVC卻並非如此(按照路由規則,一般情況是:/控制器/視圖);
3.與MVC相互比較,響應時間(由於是服務端控制項,伺服器響應耗時)和帶寬問題(WebForm會存在很多垃圾數據,如ViewState)
(4)WebForm中,一般是UI+BLL+DAL+Utility+Webservice模式,而在MVC中,一般採用SOA+WebAPI+DAL+Model+MQ+AOP+Docker模式;
四 ASP.NET MVC發展歷程
五 運用程式結構
分析:
(1)在ASP.NET Web 框架中,目錄結構是可以被擴展和修改的。
基於MVC框架自動生成的目錄結構:
但在實際項目實踐中,一般都需要調整,調整後的目錄結構如下所示:
“空模板”,添加“單元測試”
預設生成結構如下
傳統三層結構:
基於SOA架構
當然,在UI層,一般情況是需要分區的
六 APS.NET MVC基架約定
分析:
基於ASP.NET MVC 基架生成的MVC,有些預設的約定,如控制器必須以Cotroller結尾等,這些預設約定,不需要在Web.config配置文件中配置;
七 ASP.NET B/S基架包含的模板
分析:
1..NET分為C/S和B/S,B/S基架包含的模板為WebForm,MVC,WebApi,Single Page Application,Azure API運用;
八 其他內容
路由,控制器,視圖,模型,表單和Html輔助方法,數據註解和驗證,成員資格、授權和安全性,Nuget,WebApi,依賴註入,單元測試,MVC高級主題,將在後續文章中與大家分享。
九 參考文獻
【01】ASP.NET MVC5 高級編程(Jon Galloway,Brad Wilson,K.Scott Allen,David Matson ,孫遠帥 譯)
【02】MSDN
十 版權區
- 感謝您的閱讀,若有不足之處,歡迎指教,共同學習、共同進步。
- 博主網址:http://www.cnblogs.com/wangjiming/。
- 極少部分文章利用讀書、參考、引用、抄襲、複製和粘貼等多種方式整合而成的,大部分為原創。
- 如您喜歡,麻煩推薦一下;如您有新想法,歡迎提出,郵箱:[email protected]。
- 可以轉載該博客,但必須著名博客來源。