給.Net的Software
Design/Development Engineer推薦幾本書
列幾本過去一年多裡對我影響比較大的幾本書。感謝這些作者和翻譯的人員,這些書曾經和現在都還在默默的協助著我。謝謝你們付出的汗水。希望這幾本書對於需要的人有所協助。
第一本:設計模式解析(第2版)
設計模式書如果讓我推薦一本,我比較認可這一本,是這一本書讓我的設計思想發生巨大的變化,感謝Alan。這本書我個人看過4遍左右,每做過一兩個小的項目的design,
development, review& refactoring後重溫一下這本書都有所新得。溫故而知新,誠也!
首先,這本書對我的最大的協助是讓我真正的體會到OO思想的強大和優雅。讀大學時候根本只是在概念上理解物件導向,code的過程基本上還是按照面向過程來思考。個人編程思想上的refresh讓我彷彿進入了一個新的世界,那段時間真是茫茫然,欣喜若狂,沉迷於 用OO來思考,來設計開發軟體。對於我們每個人來說接受一個新的思想實際上都是件不容易的事情,雖然OO出來很多年了,但是通過大學的教育和學習過程我們很難能夠領會到代碼的可維護性的重要性。我們需要用真實的項目,優秀的書籍和熱心的mentor來協助我們學習新的思想。
其次,這本書對我的協助才是引導我學習設計模式。通過物件導向的分析引出的幾條設計原則,再結合幾個常見的設計模式的講解,是我慢慢懂了patterns是怎麼回事。作者的培訓背景對於這本書的通俗易懂提供了不少協助。再次感謝Alan寫了這本好書。雖然這本書的模式不全,但是我認為這樣挺好,23個模式也不必面面聚到,對於我們大部分人日常開發來說常用的模式基本也夠了,能這幾個瞭解深入了,可以繼續瞭解其它幾個。
這本書翻譯還可以,很少有讓我拍桌子的時候,呵呵J。如果您是新手,推薦你看一下。結合這本書我也讀過Martin
fowler那本refactoring,
還有head
first design patterns,這兩本都還不錯,也都值得一讀。李建忠那個講座也挺好,就是有點長,聽得累,不過我好像也聽過兩遍。
第二本:CLR Via C#
這本書絕對是我看過的關於.Net
Framework最好的一本書。讀過3-4遍以上,某些章節時而要翻翻。偶記憶力不行,離老大那種過目不忘差的太遠了,哎,老媽,你咋不把我生聰明點呢,呵呵。這本書我主要看得還是李建忠gg翻譯的那本,兩個版本差別不是特別大。
李gg翻譯的水平真8錯,贊一個!這本書讀過真的對於.Net整個設計架構有了很清晰的認識,雖然對底層感覺還是不夠,但是一本書寫成這樣也真不容易了。很喜歡Jeffrey
Richter的寫作風格,簡單易懂。寫得夠深入,夠簡單。特別後面幾章關於Exception,
Garbage Collection, Delegate & Event, Asynchronous
Programming Model(APM), Thread &
Concurrency的講解和分析真的很好,我很難從市場上找出這方面的能夠匹敵的書來。我對於.Net Framework的理解大部分來源於這本書。 這本書對於線程,同步寫得比較少,而這兩個話題還挺複雜,想寫出robust的代碼還真不容易,我主要是看了Programming
.Net Components那本書和結合Jeffrey的培訓講義來看得。Juval對於APM, Thread,
Concurrency講解的確很到位,結合Jeffrey這本書,基本.Net
Framework就差不多了。這本書一看基本上我也不看什麼C#
xx書了,懶得看了,看了容易上火,呵呵。如果只看一本.Net書,就這一本就夠了。
第三本:Programming Microsoft ASP.NET 2.0 Core Reference
Asp.net我認真讀過的書也就這本了,這本書讀起來有點累人,真是一本reference,像平常的xx文檔一樣。但是我個人還沒有看到過寫得有這本書還值得我欣賞的asp.net書了。這本書關於asp.net的重點基本都cover到了,不過好像不那麼通俗易懂。我主要是看了第一和第三部分,第一部分講asp.net
programming model,感覺講的挺好,像page
life cycle, asp.net runtime都詳細講了,也給常見的control的類別做了很好的整理。第三部分很好,我很喜歡,特別是state
management, HttpContext, HttpRequest, HttpResponse等講的很清楚,還有基本的security問題。這部分使得對於asp.net
infrastructure有了一個比較清晰地全域架構的認識。Server
control設計方面看過一點thin
gg寫的書,不過只看了一點,實在沒有動力看下去。
第四本:High Performance Web Sites
這本小冊子10來條規則幾乎個個是精華。我個人的主要的興趣在後台設計,但是這本書我卻很喜歡,讀了不少遍,讀完了趕快把偶們的網站拿出來對照對照看哪些能夠boost一下performance.這本書對我的最大協助是提高了我對於b/s前端的認識,特別是前端performance
tuning方面的知識總結,也協助我加深學習了http協議。個人推薦各位ggdd都讀一下,個人強推。你是大牛要是沒看過也讀一下。作者可是相當相當的”達”。喜歡這樣的書,夠薄,讀起來不累人,而且收穫很豐盛。讀了這本書後我可以和我boss幾個忽悠忽悠了,平時都是他們忽悠我,這次輪到我忽悠他們了,嘿嘿。這本書可以快速提升前端最佳化的experience。如果有什麼書可以快速提升我對某個領域的經驗我絕對願意看,這個投資絕對值。
第五本:High Performance MySQL
這本書咋講呢,主要是加深了我對於database的理解,算是本資料庫方面的高階書了。往往我們不能等待DBA來給我們做sql
tuning,可能項目就是個小項目哪有什麼dba或是項目prototype期間,很多時候還得靠偶們自己。這本書還是比較系統講解了mysql的很多機制:storage
engine, index, replication等。這本書很難得,作者好像和上面一本書一樣都在Yahoo!工作過。基本上我看兩遍就開始忽悠我周邊的人了,估計你願意瞅瞅也差不多。J以前都是偶mentor說啥pyramid architecture時候我只有點頭思考的份,看完以後偶可是基本可以站到水平對立面開始PK了。我們日常的大部分開發的儲存還是得依賴於資料庫來搞定,所以如果讓我們選擇學習一種儲存技術,還是要玩通資料庫。Google的bigtable和hadoop,hbase,
hypertable這些思想或項目如果項目能夠遇到當然也是件很開心的事情了,分布式儲存+分散式運算,哇,夠有挑戰性,偶喜歡。
資料庫tuning應該不全是DBA關心的事情,我們日常的設計後台開發人員也應該瞭解一些基本的方法。Mysql還有一本講internal的書,翻了一下,感覺有點過於深入了,有興趣的geeks可以挖一挖,有心得你們可以來忽悠我了。
後記:
五本已經不少了,希望對有需要的人有點協助。這幾本書確實對於我過去一段時間的工作和思想refresh提供了很大的協助。感謝這些作者,他們花費了如此多的時間和經曆整理出如此優秀的圖書。感謝他們。如果您有什麼感覺很不錯的書,也可以給我推薦一下J。大牛們你們也不要躲在瀏覽器後面偷偷的樂著,也給小弟一點指教。實際上還有幾本書感覺也很不錯,但是不想寫的太多成了垃圾,就隨便列一下把:Pro
JavaScript Techniques和DOM
scripting對於我學習JavaScript都挺有協助的。TCP/IP詳解,HTTP:
The Definitive Guide, Programming Collective Intelligence,還有關於基礎理論書籍就多了,基礎很重要,決定了一個人技術的深度。