﻿# ASP.NET 2.0 學習心得分享與推薦書單

在推薦書單之前，我想先分享一些學習的經驗，讓有有經驗、有潛力的程式設計師能夠快速上手，但針對缺乏程式設計經驗的人來說，這裡的建議也是有幫助的，只是需要更多時間看書、寫 Code、除錯、除錯、再除錯、然後改 Code、改 Code、再改 Code，改到自己滿意為止。

對於讀書這件事來說，沒人可以強迫你讀書的，一定要強烈的動機靜下心來讀，若不能自動自發有規律的吸收新知，進步是有限的。但我也相信有許多人不看書是因為網路資訊太多，有需要上網找就好，不過我是覺得網路資訊不連貫，若要串連起完整的觀念需要一段時間（可能好幾年），但透過書籍卻是有很清楚的知識脈絡可以遵循，我是覺得比較容易得到全面的資訊，但每個人的觀念見仁見智，你只要覺得有吸收到想知道的也行。

首先，我認為一直寫 Code 而不看書是不實際的，這樣的寫 Code 過程必須面對許多因為觀念不對而導致寫錯程式的狀況，必須不斷的嘗試錯誤、上 Google 查資料、改寫、Debug、完成，也許 Try and Error 的過程很有趣，是可以不斷的驗證自己的理解能力很強，成就感也很高，但是我個人認為過多的 Try and Error 是很浪費生命的。沒有完整的觀念會導致寫程式缺乏效率，光是查資料就花了許多時間，因為不斷打字也會對你的手造成負擔。雖然這種「一步到位」的寫程式不太可能，不過可以當成一個目標來追尋，等你的程式設計功力越來越強，就會感覺越來越深刻。

我知道大部分程式設計師都很忙，都在忙著寫 Code，真要讓所有人想清楚再寫是不太可能的，所以大多數的人都一樣先寫了再說，最後如果有時間再重整自己的程式碼，因為程式設計師都是蠻懶的，所以我還蠻懷疑有幾個人會主動重整自己的程式碼，大多應該是沒出 Bug 就得過且過吧！不過會自己主動重整自己程式碼的人大多是有潛力的人才，有沒有重整過看 Subversion 的 Log 就知道了。

簡言之，擁有豐富的基礎知識(例如: .NET 基礎觀念)不管對你寫程式來說或是學習新知，速度都會比較快，像我現在一個晚上花兩小時大約可以看 50 頁的技術原文書，五年前的我大概只能看 10 頁，我現在每天也都會上網看一些國內外知名的 Blog 文章，充實新知的速度也是慢慢培養訓練出來的。

想學習 ASP.NET 2.0 (以上)，多少還是需要充實 .NET 的基本觀念，我會推薦由[悅知文化](https://www.delightpress.com.tw/ "悅知文化-DelightPress")出版的 Microsoft .NET Framework 2.0 應用程式開發基礎 系列，共兩本：

-   [Microsoft .NET Framework 2.0 應用程式開發基礎Ⅰ(I/O|集合與泛型|序列化|圖形|執行緒)](https://web.archive.org/web/20191112080237/https://www.delightpress.com.tw/book.aspx?book_id=SKTP00001 "Microsoft .NET Framework 2.0 應用程式開發基礎 Ⅰ (I/O | 集合與泛型 | 序列化 | 圖形 | 執行緒)")
    
-   Microsoft .NET Framework 2.0 應用程式開發基礎Ⅱ(組態設定|管理檢測|安全性|反映|郵件|全球化)
    

我學習 ASP.NET 2.0 進步最多的時候是看了一本名叫 [Professional ASP.NET 2.0 Special Edition](http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470041781.html "Wrox: Professional ASP.NET 2.0 Special Edition") 的書，當初是先看到電子書，在某一個週末一口氣把整本書看完 (將近 1,500 頁)，看這本書的時候我已經寫 ASP.NET 一年多了，對 ASP.NET 只瞭解一些些，大多是工作上用的技術範圍到才會去瞭解，且當時的中文書也都寫的很粗淺，很多經驗都是自己 Try and Error 出來的，但看完這本書後覺得寫的太好了，對於 ASP.NET 的各個領域都講解的很完整，雖然每個章節所提到的技術沒有很深入，但是夠全面，對初學者來說是個不可多得的好書，當時就是覺得電子書很難標記重點，所以就把原文書給買回來了，然後貼了一堆標籤在上面，但過了幾個月後才發現中文翻譯書已經出來了，但是只有翻譯這本書的一半而已，直到最近又出了另一本下集，有興趣的人可以去買來看。

-   [ASP.NET 2.0 介面設計與資料存取 (Professional ASP.NET 2.0)](http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchViewAction.do?isbn=9789861811376&sid=35540 "ASP.NET 2.0 介面設計與資料存取 (Professional ASP.NET 2.0)") - 上集
    
-   [ASP.NET 2.0 網站個人化與自訂控制項 (Professional ASP.NET 2.0)](http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchViewAction.do?isbn=9789861813004&sid=39883 "ASP.NET 2.0 網站個人化與自訂控制項 (Professional ASP.NET 2.0)") - 下集
    

如果你已經有點 Web 的開發經驗，也可以考慮底下這兩本書，可以幫你補強許多 ASP.NET 基本觀念，這兩本書中有許多印刷錯誤的地方喔，看書的時候不要「照單全收」，最好都要認真思考過，否則可能會被誤導：

-   [Microsoft .NET Framework 2.0 Web型用戶端開發Ⅰ(伺服器控制項 | Web應用程式 | 資料庫 | XML)](https://web.archive.org/web/20191112080211/https://www.delightpress.com.tw/book.aspx?book_id=SKTP00008 "Microsoft .NET Framework 2.0 Web型用戶端開發Ⅰ （伺服器控制項 | Web應用程式 | 資料庫 | XML）")
    
-   [Microsoft .NET Framework 2.0 Web型用戶端開發 Ⅱ(表單驗證 | 狀態管理 | 個人化網站 | 監控與部署)](https://web.archive.org/web/20191112084427/https://www.delightpress.com.tw/book.aspx?book_id=SKTP00009 "Microsoft .NET Framework 2.0 Web型用戶端開發 Ⅱ （表單驗證 | 狀態管理 | 個人化網站 | 監控與部署）")
    

而最近剛看完一本書 [Programming Microsoft® ASP.NET 3.5](http://web.archive.org/web/20120207004341/http://www.microsoft.com/learning/en/us/book.aspx?ID=12001&locale=en-us "Programming Microsoft® ASP.NET 3.5") （原文書），這本書的作者 [Dino Esposito](http://weblogs.asp.net/despos/ "Dino Esposito's WebLog") 文筆很好，英文用詞淺顯易懂，很容易閱讀，書中提到的大部分都跟 ASP.NET 2.0 差不多，但是卻講了許多在開發實務上才會用到的細節與小技巧，我覺得很實用，有些壓根沒想到的用他他都有提出來討論，還有書中的許多備註的地方 ( Note ) 都有很多好東西，一定要看。

剛那本 [Programming Microsoft® ASP.NET 3.5](http://web.archive.org/web/20120207004341/http://www.microsoft.com/learning/en/us/book.aspx?ID=12001&locale=en-us "Programming Microsoft® ASP.NET 3.5") 看完後欲罷不能，又去買了 [Dino Esposito](http://weblogs.asp.net/despos/ "Dino Esposito's WebLog") 的另一本書叫做 [Programming Microsoft® ASP.NET 2.0 Applications: Advanced Topics](https://web.archive.org/web/20081217193044/http://www.microsoft.com/mspress/books/8377.aspx "Programming Microsoft® ASP.NET 2.0 Applications: Advanced Topics")，當然也寫的不錯，只是這本已經非常進階了，如果你不熟 .NET 基礎的話，應該是看不下去的。

最近也剛在看一本書叫做 [Developing More-Secure Microsoft® ASP.NET 2.0 Applications](https://web.archive.org/web/20081118211116/http://www.microsoft.com/MSPress/books/9989.aspx "Developing More-Secure Microsoft® ASP.NET 2.0 Applications")，才剛看完兩章而已，看的速度有點慢，但是很過癮，會讓你更加瞭解 ASP.NET 2.0 運作的所有細節，讓你開發出來的 ASP.NET 2.0 網站更加的安全、可靠、有效率。

現在 ASP.NET 3.5 越來越熱門，我們也已經都全面採用 ASP.NET 3.5 開發了，技術轉換的幅度不大，應該很容易上手，主要是針對 LINQ 語法的熟悉與 ASP.NET 3.5 的控制項，還有 LINQ to SQL 的部分都能夠掌握的話，就差不多夠了。

-   [極意之道次世代 .NET Framework 3.5 資料庫開發聖典 ASP.NET 篇](http://www.books.com.tw/exep/prod/booksfile.php?item=0010399053)
    
-   [LINQ最佳實務講座](https://web.archive.org/web/20190820224647/https://www.delightpress.com.tw/book.aspx?book_id=SKNP00008 "LINQ最佳實務講座")
    
-   [ADO.NET 3.5 精研講座](https://web.archive.org/web/20191112080203/https://www.delightpress.com.tw/book.aspx?book_id=SKUP00004)
    
-   ASP.NET 3.5 最佳實務講座 Using Visual C#
    
-   [Programming Microsoft® ASP.NET 3.5](http://web.archive.org/web/20120207004341/http://www.microsoft.com/learning/en/us/book.aspx?ID=12001&locale=en-us "Programming Microsoft® ASP.NET 3.5") ( 原文書 )
    

最後，就是多訂閱一些國內外知名的 Blog，每天吸收一些新知，還有我的 Blog 一定要每天看，以前的文章每一篇也都要看，包你功力大增。

**2008-07-07 更新：**

> 我另外介紹一本我覺得寫的很棒的書 [Microsoft Visual C# 2008 Step by Step](http://www.amazon.com/Microsoft-Visual-C-2008-Step/dp/0735624305) ，最近剛出中譯本，如下：
> 
> -   [循序漸進學Microsoft Visual C# 2008 官方版教材(附光碟)](http://findbook.tw/book/9789862011348/basic)
>
