我們期待已久的 ASP.NET MVC 終於推出 1.0 正式版了,這版本可跟以往推出 ASP.NET 1.0 時的感覺完全不一樣,我當初見到 ASP.NET 1.0 心裡第一個感覺是:「微軟推出的 "1.0" 版能用嗎?應該過不久就會推出 1.1 版或 1.0 SP1 了吧?還是晚點再學好了!」。但是這次推出的 ASP.NET MVC 1.0 版可是醞釀了 2 ~ 3 年的時間,由一堆微軟的菁英與社群的專家共同激盪、研發出來的,我覺得品質好的沒話說。
而且我們公司最近已經導入兩個新專案完全使用 ASP.NET MVC 技術開發了,首先由我打頭陣把 ASP.NET MVC 相關設計樣式(Design Pattern)、文件、範例程式都先理解並分析過,然後進行內部教育訓練並讓大家練習一個小專案(我寫的一個小型範例程式),最後再真正導入專案實際讓開發團隊體驗利用 ASP.NET MVC 技術開發的 "快感" ( 他們說有種飛起來的感覺... ^^ )。
過程中,我們除了寫 Code 之外,也需要不斷的 Code Review 與 Refactoring (重構),尤其是重構是非常重要的,因為重構的過程才會讓大家真正學到 ASP.NET MVC 最重要的觀念 ( SoC ),以及最實務的開發技巧。
直到最近幾天 ( 實際開發了快一個月之後 ),我的團隊成員跟我說:「我覺得這幾天有感覺 ASP.NET MVC 開發起來很順手了」,這也讓我感覺很欣慰,這段時間的磨練總算有了成果,而且團隊開發的速度這才真正準備開始展現出來,因為只要打通任督二脈後,許多使用傳統 ASP.NET 會遇到的問題都可以很快速、直觀的被解決。
學習 ASP.NET MVC 的過程中,有很多開發觀念、開發技巧需要學習,而且學習 ASP.NET MVC 幾乎等於放棄傳統控制項的使用 (因為沒有ViewState可用),不過除此之外,之前所累積的開發經驗都還是很實用的,例如: MasterPage, UserControl, Membership, Role, Session, HttpModule, HttpHandler, Web Service, Configuration, LINQ, LINQ to SQL, ... 全部都還有用,而且 ASP.NET MVC 跟傳統 ASP.NET 的頁面還可以並存在同一個網站當中,彼此也不會打架,所以大型網站透過漸進式轉換至 ASP.NET MVC 也是有可能的。
但說實在若不是我在要求,要讓一個懂 ASP.NET 的人主動學習 ASP.NET MVC 還真的不是一件容易的事,畢竟這兩者間的鴻溝還是有一些,而且還要放棄掉一些曾經擁有(可能還很自豪)的知識,例如:伺服器控制項(Server Control)開發。但是讓一個懂 Java 或 PHP 的人踏入 ASP.NET MVC 的世界我倒覺得是個不錯的契機,也許大家可以考慮看看。
最近我也正在考慮是否要寫一本關於 ASP.NET MVC 的中文書籍,不過目前看來好像能接受 ASP.NET MVC 的人應該很有限,如果有興趣想研究 ASP.NET MVC 的人歡迎在此簽個名,讓我感受一下有多少人想看 ASP.NET MVC 的書。^_^
相關連結