相见恨晚

横刀天笑
2010-11-13 看过
前些日子,公司的老大向我们的Tech Lead推荐了这本书,一看封面怎么这么熟悉,隐约还记得大学的时候在图书馆拿起又放下几次,可惜当时功力不够,根本无法读懂。如是到网上一搜,已经绝版,跑到淘宝上买了本复印版(我也不想买盗版啊,可惜已经绝办了)。
这几日在地铁上几乎都是这本书为伴,可能是开发有些年头了,所以书中很多经验原则常常引起共鸣。
从书中可以看出,作者极其强调封装,仔细读来,确实发现封装乃面向对象的基石,为此我也写了篇博客来讨论封装。
还记得书中有一点让我慨叹不已:作者曾经写了个C++类库准备出售,为了便于使用者使用,就给类库里所有的类写了个基类,定义了一个最小公共接口,然后咋一看,这个最小公共接口不就是今天Java或.NET里的Object么!
还有一点令我感触比较深的是,作者说在很多技术评审会议里,人们花了几个小时在争论一个东西,最后发现他们讨论的是关于对象命名的问题。这与上次公司的OO训练营里老大提的面向对象就是起名的艺术不谋而合(虽然当时老大有点开玩笑,不过有的时候真的是真的,一个命名或许就能改变对象的职责,大家对命名的争论,往往表示大家对对象职责的不同看法)。

不过在读此书的时候却有些奇怪,书中很多经验原则都是设计模式里介绍的,作者却起了另外一些名字,同事说可能是这本书比设计模式那本出版早,不过我却发现书后的引用文献有GOF的《Design Pattern》。

还有一点是,这本本应该是OOD的书籍,却掺和了很多C++的元素,这让我感到有点不爽,甚至用大量的篇幅来讨论C++的内存泄露,而且书后的示例也都已C++写成,用C++写也就得了,还用了很多笔墨来讨论本应该只属于C++的问题。

真希望现在这本书能够出第二版,跟上时代的步伐,然后对有些问题仔细讨论一下。Booch的那本OO书虽然出了新版,但是枯涩难懂,而且实践性也不强。

总体上来说,这还是一本不可多得的好书,虽然有些东西并不适合所有人看,虽然有些地方没有深入展开。只是感觉,相见恨晚。
3 有用
0 没用
OOD启思录 OOD启思录 8.5分

查看更多豆瓣高分好书

评论 0条

添加回应

OOD启思录的更多书评

推荐OOD启思录的豆列

了解更多图书信息

豆瓣
免费下载 iOS / Android 版客户端