软件构架需要看的书籍

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的书,那样其实没有抓住架构的本质。

 

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