我自闲庭信步,悠然自得,不亦乐乎.

                                       ------ Keep life simple
GMail/GTalk/MSN:huyi.zg@gmail.com

 

怎么才能成一名架构师?

这个题目大了点,不适合我这种刚参加工作不久的人来回答。

Blog很久没有更新了,答应了朋友写点这方面的看法,就在这里表达一下自己的意见,抛砖引玉。

架构师也有不同的类型。我主要想讨论软件方面的架构师。

一是体系结构级的,要负责产品的部署,硬件,网络等等很多整体上的东西,这一类不仅需要扎实而广泛的基础知识,更需要经验,特别是在大企业工作的经验。这一点也是在单位看了一些日本人的设计,才慢慢体会到。

二是软件本身的架构,是我想重点讨论的。
软件应用的领域不同,架构也有很大的差别,嵌入式有嵌入式的做法,电信软件有电信软件的做法,企业应用有企业应用的做法,桌面有桌面的做法。如果要全部讨论,我没有这个实力,所以只说最常见的企业应用开发和桌面软件开发。

最重要的基础,我觉得是OO,不管实际编程设计是否是OO的,都应该了解,具备OO的思想。强调一下,采用最合适的思想和手段来开发软件,而不一定非要用OO,或者是非不用OO。我比较坚信的一点是,当代及未来的程序员,或许在实际工作中不需要用到OO,比如说搞嵌入式开发,或者Linux底层方面开发的(事实上,Linux中也用到了OO,比如文件系统),但必须是了解OO的。

一,万丈高楼从地起,一力承担靠地基

1。敏捷软件开发



为什么推荐这本呢?其实是推荐这本书的前半部分。因为它的前一半一定可以让人耳目一新,让人知道OO除了封装,继承,多态以外,还有更多的东西,而且这本书十分容易懂。


2。《OOP启思录》


绝对的经典,不过就比较枯燥了。全部是关于OO的理论及设计准则。所以虽然非常基础,但并没有作为第一步推荐的书。看这个,需要对OO有了一定的了解,才能坚持下去。

二,顺藤摸瓜,寻根究底
初学的人常说,OO就是对象,就是封装继承多态。对,没错,但语言是怎么支持这些OO特性的呢?

1。深度探索C++对象模型



我们CPP粉丝有福了,本书探索了C++对OO的支持,底层对象模型实现等非常有价值的内容。同样是相对枯燥的,而且颇具难度,所以学习之前最好对C++这门语言熟悉,而且有兴趣去了解它的本质。
对于非CPP帮派成员,看这个可能比较困难,但我也找不出其他替代的学习书籍了,知道的朋友请补充。

第三,练招
内功基础有了,就该练习剑招拳谱了。

软件设计的剑谱,就是设计模式,就是前人总结出来的套路,当然你也可以自创。但自创之前,一定要多看多想,充分吸取前人的精髓。

1,Java与模式



国人写的不得不推荐的一本好书(也有很多人说他太啰嗦)。我初学的时候,一上来就是Gof的传世经典,结果薄薄的一本册子,花了我整整一年的时间,还觉得理解不够。当我看了一遍Java与模式,豁然开朗,如果先有了这个,一定不会觉得设计模式那么难。

2。设计模式:可复用面向对象软件的基础

前面所提到的“传世之作”,为什么那么经典?因为句句话都是经典,可以说没有一句废话(《java与模式》就被人说成废话连篇)。
java与模式,我看完后就送女朋友了,而这本书,我却保存了起来,作为手册查,这就是我的用法。





未完待续。。。

posted on 2006-07-28 00:02 HuYi 阅读(1159) 评论(1)  编辑 收藏 引用 所属分类: 书籍推荐

评论

# re: 怎么才能成一名架构师? 2006-08-03 13:12 浮生

3X  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(12)

随笔分类

相册

收藏夹

友情链接

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜