http://www.blogjava.net/calvin/archive/2007/03/06/102117.html
http://blog.csdn.net/calvinxiu/archive/2007/03/06/1522032.aspx
爲了2007年的目標,列了下面待讀或重讀的書單。
奇怪國外真正的好書來來去去也就那麼幾本,emule加上國內出版社的努力,我們看的東西和老外已差不多,爲什麼老外看完做項目就那麼生猛,我們看完做項目就還是半桶水呢。
2月份買了過千元的書後,重列了這個書單的2.0 版本,並且每晚更新--last update 3.10。
一、Software Architecture篇
這個領域沒有什麼"暢銷書",可能讀者中本來就是開發設計人員與項目經理佔了多數,真正定位爲架構師而且做的也是架構師工作的不多吧。
1.軟件架構入門
《Large-Scale Software Architecture --大型軟件體系結構:使用UML實踐指南》
現代架構師的入行指南,從什麼是架構、什麼是架構師一直到使用UML編檔的大型系統架構實例
2. 軟件架構進階
《Documenting Software Architectures --軟件構架編檔》
第13屆JOLT大獎作品,徐昊推薦。捕獲架構的過程,爲什麼這樣捕獲的書籍很少,所以它拿JOLT。
《Applied Software Architecture --實用軟件體系結構》
另一本被引用很多的架構書。
《The Art of Software Architecture --軟件體系結構的藝術》
薄薄的一本,其他幾本的理論抽象與薄化。
《Evaluating Software Architectures --軟件構架評估》
SEI出品,正兒八經的ATAM架構評估方法和兩個評估案例,順帶介紹了SAAM和ARID。
二、RUP/UML 篇
RUP、UML、4+1視圖始終是架構師界最通用的東西。
1. RUP過程
《RUP 2003.6.15》(2005年版)文檔
作爲RUP的fans,這份偉大的文檔實在值得向全世界推薦。可惜蜘蛛網式的超鏈接是它最實用的地方,但也限制了它不可能被打印出版。
《The Rational Unified Process:An Introduction.3rd Edition --RUP導論(第3版)》
RUP2003文檔的縮略版,在啃RUP2003的細節前可以先拿中文版來翻一下。
2. UML語言
《Applying UML and Patterns --UML和模式應用(第3版)》
很多書都可以作爲UML入門,個人比較喜歡這一本。
《The Elements of UML Style--UML風格》
教人如何畫好UML的很必要,圖靈會翻譯第2版。
三、特定領域篇
開發人員有GOF23 Pattern,架構師同樣也有架構師的Pattern。
1. 公共領域
《Domain-Specific Application Frameworks --特定領域應用框架:行業的框架體驗》
ozzzzzz推薦,介紹了30個特定領域特定框架的設計。我自己最喜歡看人家的設計與思考。
《Beyond Software Architecture --超越軟件架構:創建和維護優秀解決方案》
軟件架構體系外的其他軟件產品考慮因素。
《Head First Design Patterns》
最好的GOF23經典設計模式闡釋,適合被[GAMMA95]折磨的架構師拿來複習,中文版即將發行。
2. Java EE領域
《Patterns of Enterprise Application Architecture --企業應用架構模式》
Martin Fowler經典,企業應用各分層上的模式。
《Expert One-on-One J2EE Design and Development --J2EE設計開發編程指南》
Rod Johnson經典,依然使用J2EE的倒黴架構師需讀。
《Effective Enterprise Java--中文版》
Neward, Ted作品,作者學貫東西(.Net與Java),像寫Blog一樣,每一頁裏面都有大量的信息。
3. EAI/SOA領域
《Enterprise Integration Patterns --企業集成模式:設計、構建及部署消息傳遞解決方案》
4. 網絡與後臺服務編程領域
《Pattern-Oriented Software Architecture, Volume 2 --面向模式的軟件體系結構 卷2:用於併發和網絡化對象的模式》
《Pattern-Oriented Software Architecture, Volume 3 --面向模式的軟件體系結構卷3:資源管理模式》
著名的POSA2與POSA3。
四、閒書篇
《Code Complete 2 --代碼大全2》
一本你教育小弟時的代言人。
《The Pragmatic Programmer --程序員修煉之道:從小工到專家》
一本你啓發小弟的代言人。
《The Art of Unix Programming --UNIX編程藝術》
六、高效讀書心得
剛好Head First系列開頭都有一段教人如何讀書的話,再加工整理如下:
1.儘量閱讀中文版
雖然有人英文很強,有的翻譯很差,但AnyWay 中文閱讀與理解的時間,略讀與快速定位的速度還是要快一些。
2.即時批註、總結筆記與交流
雖然愛書,但發現最有效的讀書方式還是不斷的製造脂批本,讀書時在重要的文字下劃線,把自己的心得寫在頁旁。
在明天覆習一次批註,最好可以有空重新整理筆記,或者拿來與人討論。
3.大量思考或重複記憶
看書最鬱悶的事情就是看完之後腦袋空空了。技術書還好點,雖然看的時候可能很辛苦,但就像學會了騎單車,之後再騎的時候總是會的;而偏設計與管理的書,最容易的事情就是看的時候很快,看完沒什麼留下到實踐中。
所以,我們不能以看小說的速度來看設計書,要尋找思考的機會,思考是最好的記憶。
又或者,大量的重複記憶,重複多遍直到無意識的記憶。
4.人體工學
那些見縫插針的時間與地點不是看這個書單的好地方。
環境不要有電視,音樂等強輸入源,而微風陽光鳥語等弱輸入源則有助活躍大腦。
看書時大量的喝水。
如果發現自己的大腦已經疲累,已經在浮光掠影的翻看,就要休息。
留給大腦消化的時間,看完書不要接着看其他有難度的書或事情。
汗....竟然都看過...不過說實話,有些冗餘。
如果讓我選的話,我覺得三本足以
Documenting Software Architectures--軟件構架編檔
這本絕對經典。當年我正經八百的批過一整本。
再補2本
Object Models,對象自然用法的最佳體現
4 Color UML,Pattern,Analysis,Process,Object。四者合一,無有出起右者。
@江南白衣
那個不全,基本上是試讀。我覺得是這樣的,架構師不在於你知道多少種選擇,而在於可以作出相對合適的選擇。像培養這個素質,一定要在系統演化的過程中,如何做出正確的決定。所以的架構決定一定是有其背後的業務目的和限制。放棄這個談架構,甚至是模式都是沒太大意思。
我覺得所謂技術架構師,基礎的話,一本4 color uml,再配合那本很薄的FDD足以。4 color裏給出純domain的design/實現方法。同時2-5章又給出了具體業務的例子,很好的解釋了why和why not,培養決策感是很好的。最後一章FDD總述,從過程上把握如何交付也是architect的基本技能。
進而Documenting Software Architectures也是基本素質之一,能合理的描述/記錄架構,這需要很多錘鍊纔可以。
然後就可以根據跟人興趣了。其實我不推薦看很多pattern/architect style的書,那樣其實沒有抓住架構的本質。