Programming Microsoft ASP.NET 2.0 Application Advanced Topics
 Dino Esposito/著
 Microsoft Press出版
 售價:1650元
 推薦:Amazon4顆半星


去年底(2005年).NET 2.0風光上市,就筆者來看,最大的新增在Team System架構,與豐富了ASP.NET的開發功能。而對廣大的使用者來說,無疑是ASP.NET 2.0最讓人興奮。

Web 應用程式開發的新頁章
ASP.NET 2.0改良1.x版的設計,讓Web應用程式的開發架構變得更有彈性,例如:

● 開發專案(Project)以檔案和目錄為單位,不由專案檔啟動。利用臨時的Web服務執行測試,在開發環境免掉了IIS(Internet Information Services)服務。

● 使用免費的SQL Server Express版本資料庫伺服程式,搭配自動建立的資料庫檔案,以存放各種服務的中繼資料。

● 透過各種設定管理的工具,簡化Web.config和Machine.config等設定檔的管理。

● 經由各種檔案獨立且自動化的編譯,讓開發環境所提供的IntelliSense功能更聰明,部署個別網頁更為簡單,不會因為一兩個網頁,壞了整個網站的編譯。

● 提供數量倍增的控制項(Control)。

種種設計,讓開發者的環境需求較為輕便。而內建豐富的功能,讓你我透過點選、拖曳就可以完成大部分的基礎工作。

Web應用程式在企業內越來越風行,隨著資訊教育普及,員工倚賴IT輔助日深,各種客製化小系統如雨後春筍遍布在企業內。雖然系統需求各異,但有許多共通的基本功能很重要,作起來卻麻煩。例如使用者帳號管理、登入、授權與加密、個人化網頁、瀏覽路徑導覽,以及一致性的網頁設計風格等。ASP.NET 2.0內建這些功能,並透過預設的Provider,將實作這些功能所需的管理資訊存放到自動建立的SQL Express資料庫內。開發人員僅靠設定就可以替網站系統完成大部分的基礎設施。

ASP.NET 2.0除了提供很多新的內容,也改善了舊技術,例如:Web Part。新的Web Part技術在ASP.NET 2.0網頁中,搭配預設的個人化功能,可以讓使用者隨意布置網站版面,而開發者卻不需要為此花費什麼功夫。但這與以往透過Visual Studio 2003搭配額外下載的Web Part範本,開發在Windows 2003 SharePoint Services(WSS)使用的Web Part並不相同。或許在下一版的WSS中,將會全面採用ASP.NET 2.0的架構。

快速拼裝的速食系統
「FrontPage出現後,全世界產生了幾百萬張醜網頁」曾在美國的大型研討會聽演講者這麼說,主講人是希望藉此提醒基礎知識的重要。筆者贊同深入技術的必要,但另一方面來說,FrontPage讓人們敢於嘗試建立網頁也功不可沒,畢竟要跨出第一步最難。就筆者曾經拜訪過的企業,不知多少小網站是起自於FrontPage,而後若該系統變得重要,再重新思考網站的定位,同時進一步採用更專業的開發設計流程。有了FrontPage,非技術人員得以愉悅地在網路上建立出自己的首頁,更豐富了整個Web世界。

我相信ASP.NET 2.0所提供的各式服務,如Membership、Role Management、Profile、Web Part Personalization、Site Map等,再加上一大堆的控制項,將會讓企業內部門級的網站系統開發,彼此更為相像。就像Visual Basic所造就的Windows Form充斥,或如上述,透過FrontPage來建立的初級網站林立。今後用Visual Studio所快速開發的ASP.NET網站也將隨處可見,且都大同小異。
筆者在授課時,與學員的互動中可感受到,大家驚艷於ASP.NET 2.0大幅簡化了基礎功能的開發,但又懼怕日後需求變異時,難於駕馭。大堆頭的功能越多,越容易拼裝上陣。一旦用上了,要修改得精細合身卻又不易。且下層連結運作的機制必定複雜,非一時三刻可以搞懂。就好像騎腳踏車時,若有問題還可能自己維護。但汽車拋錨時,修理會讓你我卻步。然而,當行遠路時,你要開車還是騎腳踏車呢?

登堂入室
若你已玩過一陣ASP.NET 2.0,在此介紹一本關於該技術的好書:《Programming Microsoft ASP.NET 2.0 Application Advanced Topics》。這不是入門書,它未曾介紹如何無中生有建立一個ASP.NET網站,或一步步說明如何使用Visual Studio 2005開發工具,乃至於C#語法解說等等。簡言之,字很滿,圖很少。

就作者Dino Esposito的規畫,若你是剛入門者,可能他的另外一本書《Programming Microsoft ASP.NET 2.0 Core Reference》比較適合。但依筆者來看,還是到坊間找中文書比較便宜,原文書太貴了。

這本書著重解釋基礎機制的運作原理,例如:各種程式碼、定義、資源等不同檔案的配置、動態編譯、載入與釋放,Handler與Module的設計,非同步執行網頁的方式,自行撰寫控制項等。

其功用比較像是工具書,讓你在實作較為艱深的功能時可以參考專章。或是查閱一些細部的設定,例如透過第3章ASP.NET Configuration尋找繁多的Machine.config或Web.config等設定之格式與意義。

第4章的Building Custom ASP.NET Providers是要深入了解ASP.NET 2.0的一個重點,Provider Model應該是此版最值得研究的架構之一。其他的技術,如動態編譯與載入、Handler與Module、Web User Control和Custom ASP.NET Control等,在本書雖都有深入的探討,但畢竟它們自ASP.NET 1.0始就已經存在,2.0對這些部分算是小幅改良。

提供建置網站的程式基礎架構時,如何能讓開發者自由擴充是最難的項目。由於各企業多存在行之有年的資料結構與商業邏輯,如何讓新建立的網站可以套用舊的資料,儘量保有以往對資訊技術的投資。例如,舊的會員資料庫已經存在,但如何讓新撰寫的ASP.NET 2.0網站可以使用到該資料庫認證會員身分、使用個人資料(Profile)?抑或是網站導覽的資料結構早已存在舊網站中,又如何讓新的 SiteMapPath或TreeView、Menu與SiteMapDataSource等控制項與舊資料結合,再以新技術撰寫的網頁中提供整合的網站導覽?

ASP.NET 2.0 針對上述問題的解法是Provider Model。模型最具威力的地方就是從繁瑣的表徵中,抽象出核心運作的原理,在提綱挈領描繪出骨幹後,你可以將相同的經驗類推到各種功能開發之中。就筆者來看,Provider對Design Pattern、物件導向分析、設計與撰寫、元件化重複使用等方面,都作了絕佳的示範。

ASP.NET 2.0這次新增的Membership、Site Maps、Profile等服務,都依照Provider Model的精神實作,也就是提供4個層次的架構:

● 與使用者互動的控制項(UI)
● 標準的程式存取介面(API)
● 存取資料提供者(Provider)
● 實體中繼資料結構

在每一層,ASP.NET 2.0都提供了直接可用的物件。但你仍可依自己的需要,隨意置換某個服務任一層的元件,而其他層的既有架構照舊使用。

除了上述內容之外,本書對於一些越來越熱門的主題,例如Ajax和微軟未來的 Atlas,或是為行動裝置開發網頁,作者都稍有著墨,但並未深入探討。

閱讀建議
再次強調,此書不是入門書。若你是ASP.NET 2.0的生手,但某些場合讓你親炙了許多ASP.NET 2.0炫麗的功能,例如很酷的控制項、Master-Content網頁的設計,Theme與Skin的套用、整合自身與Reporting Services的報表等,這些都在前述作者的另一本書內,本書並不適合你。

當你需要深入了解ASP.NET 2.0的基礎原理,架構較為大型的網站,並希望重複使用自己曾經開發的模組或元件時,此書所討論的主題:如Handler和Module、自訂Provider、自訂控制項等,就很值得你深究。

建議你先看完第1、4、7、10章,分別了解ASP.NET 2.0的檔案配置與編譯、提供各種服務的Provider Pattern、Web Part架構,以及Site Navigation等技術。因為相較於其他內容,這4章或許會比較快用到。其他的章節稍作瀏覽,讓你往後鑽研進階功能時,知道在哪可以找到資源。

本書的範例很多,且彼此獨立,在翻閱各章內容時,可以同時執行一下範例程式,先了解功能為何,是否吸引你進一步深研該章節。不過,由於一些應用程式的基本設定可能與你的系統環境不合,因此,若不熟悉ASP.NET 2.0的設定與執行、SQL Server資料庫連線的方式、基本的C#語言,很多範例可能執行起來會有問題。

延伸閱讀
ASP.NET的中文書籍向來是許多作者的最愛,你可以駐足書店,尋找自己喜歡的風格。在此,筆者僅建議你逛逛以下的網站:

.MSDN:微軟技術的大本營不可不去。
.MSDN為本書作者 Dino Esposito提供的網頁(可用「dinoesposito」搜尋)。
.「gotdotnet」網站分門別類地整理相關技術。
.MSDN官方的討論區也有相當豐富的內容。
.當然,恆逸講師群所努力充實的.NET Magazine網站也可讓你獲益良多。

《作者簡介》胡百敬
現任職恆逸資訊教育訓練處資深講師,聯合報系、睿智資訊與臺灣微軟技術顧問。著有《SQL Server 2005資料庫開發聖經》等書,並為專欄作家。

熱門新聞

Advertisement