MVC開發架構的感受與認識

    提出系統開發三層架構的概念很早了,目前也是各企業單位採用最多的架構之一。以前用此架構開發的時候感覺思路比較清晰,各個層的分工明確,尤其是開發比較有規模的系統的時候,但是如果做個小網站之類,用多層概念有點像殺雞用牛刀的感覺。

    三層架構的設計理念很不錯,可是WebForm的顯示樣式、WiewSate\、事情驅動模型等曾無數層讓我感覺不爽。冗餘的代碼讓網速大大的降低,不停的與服務器交互也讓客戶的體驗的效果不好,爲此不得不捨棄那些封裝好的服務器控件,回到原來的開發方式,甚至在有的項目開發商上本人乾脆就捨棄.NET,直接採用PHP或者ASP,開發速度與設計效果反而更加順手些。儘管如此,並不意味着.NET的問題,其實還是我們的實踐經驗和架構理念不夠成熟造成的,易學難精,現在回頭想想,ASP.NET運用的好的話,精通的人一樣的可以像孫悟空的金箍棒一樣大小可變,爲你所用,特別當微軟推出MVC以後,針對以前所遇到的弊病可以得到解決了。下面說一下我對MVC學習。

    說MVC首先想到是它的“祖父”ASP與“父親”ASP.NET WebForm。 ASP就像是拌麪,各種調料、蔬菜等和麪加載一起做成了一道麪食,如果出現返工需要再次重新分配的話,工作量就會變的大許多。而ASP.NET WebForm開啓了代碼分離的概念(Code Behind),將設計與程序代碼分開,通過VisualStudio可視化開發與服務控件等組件化的技術,讓開發更加快速方便,只關注變化的地方,它就是像是快餐,主食與蔬菜分開,問題是快餐的營養和味道並不是最好的,可選擇的餘地也是有侷限的。相比以上兩者,MVC更加優越,能寫出更好的分離架構,它將我們以前提到的三層架構以一種成熟的技術模式展現給我們,來提高開發者的開發體驗和項目可的維護性。

    MVC注重的的是要了解網址路由(Routing)與運行生命週期,Routing有兩個目的:一是將HTTP發送的請求映射給Contraller與Action進行處理。二是輸出網址響應到瀏覽器。

    MVC就是數據模型、顯示層與控制器的意思。Model:數據模型,數據訪問需要依賴它。一般是首要開發的部分,如:設置數據的必填性。Contraller:控制器,它是架構的核心,負責處理各種請求。如:窗口的重新跳轉與停留。View:負責數據的呈現,如:利用AJAX查詢的修改。

    兩者繼承的類別分析:最終都是導向到 IHttpHander類別來處理

 

名稱繼承類繼承類
WebFromPageIHttpHander
MVC4.0MVCHandlerIHttpHander

   

 微軟Web開發技術基礎架構:

 

MVCWebPageWebFormsSinglePageWebAPISingleR
WebSitServices
ASP.NET

 

    需要捨棄WebForm技術:

            ViewState PageTrace 和部分Server Contral.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章