架构师书单 2nd Edition
为了2007年的目标,列了下面待读或重读的书单。
"其实中国程序员,现在最需要的是一张安静的书桌。",的确,中国架构师大多缺乏系统的基础知识,与其自欺欺人的宣扬"读书无用,重在实践变通,修身立命哲学书更重要",把大好时间用来追逐互联网上的片言只语,不如直面缺陷,系统的学习一次。
书单越读越薄,好书真的不多哇。
一、Software Architecture篇
这个领域没有什么"畅销书",可能读者中本来就是开发设计人员与项目经理占了多数,真正定位为架构师而且做的也是架构师工作的不多吧,你懂的尽是偏僻的人生。
《Software Architecture in Practice,2nd Edition--软件构架实践(第2版)》
第一版是第九届JOLT作品,一本被引用很多的架构书。
《Documenting Software Architectures --软件构架编档》
第13届JOLT大奖作品,捕获架构的过程,徐昊推荐。
《Applied Software Architecture --实用软件体系结构》
另一本被引用很多的架构之书。
二、UML 篇
UML、4+1视图始终是架构师界最通用的东西,寻找一种向世界妥协的方式。
1. 《UML Distilled 3rd》
没什么特别想推荐的UML工具书,选本最薄的吧。
2.《The Elements of UML 2.0 Style》
胜在没有同类书。
3.《UML和模式应用(第3版)--Applying UML and Patterns 3rd》
UML+RUP作的OOAD过程。
三、特定领域篇
开发人员有GOF23 Pattern,架构师同样也有架构师的Pattern。不同领域的架构师需要不同的知识。
1. 公共领域
《Domain-Specific Application Frameworks --特定领域应用框架:行业的框架体验》
ozzzzzz推荐,介绍了30个特定领域特定框架的设计。
《Head First Design Patterns》
最好的GOF23经典设计模式阐释,适合被[GAMMA95]折磨的架构师拿来复习,中文版即将发行。
2. Java EE领域
《Patterns of Enterprise Application Architecture --企业应用架构模式》
Martin Fowler老书,企业应用各层上的模式。
《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.人体工学
那些见缝插针的时间与地点不是看这个书单的好地方。
环境不要有电视,音乐等强输入源,而微风阳光鸟语等弱输入源则有助活跃大脑。
看书时大量的喝水。
如果发现自己的大脑已经疲累,已经在浮光掠影的翻看,就要休息。
留给大脑消化的时间,看完书不要接着看其他有难度的书或事情。