初次體驗ASPNET的MVC架構
來源:互聯網
上載者:User
一看到MVC,估計大家都不會陌生,這是java中經典的項目架構結構,尤其是在java web開發方面,mvc方面的架構都已經非常的成熟。一直以來開發經典aspnet頁面時,都很羨慕java在web開發方面的靈活,jsp頁面沒有臃腫的viewstate和複雜的頁面周期,開發人員能夠精確的控製程序的流程,當然這種控制會增加一些代碼的工作量。
這回dotnet也有了自己的mvc架構,起初我懷疑是不是網路上常見的三層架構改編而成,或者說是新的代碼自動產生架構。安裝了使用之後,發現aspnet mvc架構跟經典的aspnet架構有著很大的區別,可以說是兩種不同的開發方式。並且從aspnet mvc的實現過程來看,與java的mvc架構有著明顯的相似之處。如果習慣了aspnet原有開發方式的人員,估計會難以接受aspnet mvc架構的開發方式。因為在該架構下,幾乎很少用到了viewstate來儲存頁面狀態,更多的是通過post,form action等方式來維持狀態。而aspnet頁面那種便捷的事件驅動開發方式也被摒棄了,在介面上點擊控制項看不到到事件視窗,試圖在代碼裡面添加事件也沒有智能感知出現,估計是因為事件會影響到form的action,因為mvc裡的controller的動作是通過action實現的。還有一點明顯變化的是,訪問地址的改變。地址的訪問不再是那種固定的訪問某一個頁面的全稱,而是首先存取控制器,再通過控制器去展現頁面內容,估計用過mvc的都能理解。訪問地址的方式,是引入了地址映射這種關聯方式,這種功能在2.0中亦可實現,將test.aspx?id=34這樣的網址通過test/34這種形式訪問,跟java裡的serverlet訪問方式類似。
明顯的改變,並不意味著原有aspnet的功能都用不上或者會給編程帶來麻煩,但作為微軟的產品,在操作方面肯定會即相容aspnet原有功能又能讓你在使用新架構時得心應手。實際開發的時候,配合vs2008以及架構的內建的一些代碼自動產生功能,更重要是配合LInq一起使用,開發效率應該不遜於原有aspnet架構。
剛接觸不久,還未能詳盡瞭解其工作原理,將繼續學習,歡迎交流。
附:aspnet mvc的網址 http://www.asp.net/mvc/