軟件構架需要看的書籍

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 --軟件構架編檔》

   13JOLT大獎作品,徐昊推薦。捕獲架構的過程,爲什麼這樣捕獲的書籍很少,所以它拿JOLT

Applied Software Architecture --實用軟件體系結構》

   另一本被引用很多的架構書。

The Art of Software Architecture --軟件體系結構的藝術》

    薄薄的一本,其他幾本的理論抽象與薄化。

Evaluating Software Architectures --軟件構架評估》

    SEI出品,正兒八經的ATAM架構評估方法和兩個評估案例,順帶介紹了SAAMARID

二、RUP/UML

RUPUML4+1視圖始終是架構師界最通用的東西。

1. RUP
過程
RUP 2003.6.15(2005年版)文檔
  作爲RUPfans,這份偉大的文檔實在值得向全世界推薦。可惜蜘蛛網式的超鏈接是它最實用的地方,但也限制了它不可能被打印出版。

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
作品,作者學貫東西(.NetJava),像寫Blog一樣,每一頁裏面都有大量的信息。

3. EAI/SOA領域 
Enterprise Integration Patterns --企業集成模式:設計、構建及部署消息傳遞解決方案》

4. 網絡與後臺服務編程領域
Pattern-Oriented Software Architecture, Volume 2 --面向模式的軟件體系結構 2:用於併發和網絡化對象的模式》

Pattern-Oriented Software Architecture, Volume 3 --面向模式的軟件體系結構卷3:資源管理模式》

    著名的POSA2POSA3

四、閒書篇

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
PatternAnalysisProcessObject。四者合一,無有出起右者。

 

 

@江南白衣
那個不全,基本上是試讀。我覺得是這樣的,架構師不在於你知道多少種選擇,而在於可以作出相對合適的選擇。像培養這個素質,一定要在系統演化的過程中,如何做出正確的決定。所以的架構決定一定是有其背後的業務目的和限制。放棄這個談架構,甚至是模式都是沒太大意思。

我覺得所謂技術架構師,基礎的話,一本4 color uml,再配合那本很薄的FDD足以。4 color裏給出純domaindesign/實現方法。同時25章又給出了具體業務的例子,很好的解釋了whywhy not,培養決策感是很好的。最後一章FDD總述,從過程上把握如何交付也是architect的基本技能。

進而Documenting Software Architectures也是基本素質之一,能合理的描述/記錄架構,這需要很多錘鍊纔可以。

然後就可以根據跟人興趣了。其實我不推薦看很多patternarchitect style的書,那樣其實沒有抓住架構的本質。

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章