前些日子,公司的老大向我们的Tech Lead推荐了这本书,一看封面怎么这么熟悉,隐约还记得大学的时候在图书馆拿起又放下几次,可惜当时功力不够,根本无法读懂。如是到网上一搜,已经绝版,跑到淘宝上买了本复印版(我也不想买盗版啊,可惜已经绝办了)。
这几日在地铁上几乎都是这本书为伴,可能是开发有些年头了,所以书中很多经验原则常常引起共鸣。
从书中可以看出,作者极其强调封装,仔细读来,确实发现封装乃面向对象的基石,为此我也写了篇博客来讨论封装。
还记得书中有一点让我慨叹不已:作者曾经写了个C++类库准备出售,为了便于使用者使用,就给类库里所有的类写了个基类,定义了一个最小公共接口,然后咋一看,这个最小公共接口不就是今天Java或.NET里的Object么!
还有一点令我感触比较深的是,作者说在很多技术评审会议里,人们花了几个小时在争论一个东西,最后发现他们讨论的是关于对象命名的问题。这与上次公司的OO训练营里老大提的面向对象就是起名的艺术不谋而合(虽然当时老大有点开玩笑,不过有的时候真的是真的,一个命名或许就能改变对象的职责,大家对命名的争论,往往表示大家对对象职责的不同看法)。
不过在读此书的时候却有些奇怪,书中很多经验原则都是设计模式里介绍的,作者却起了另外一些名字,同事说可能是这本书比设计模式那本出版早,不过我却发现书后的引用文献有GOF的《Design Pattern》。
还有一点是,这本本应该是OOD的书籍,却掺和了很多C++的元素,这让我感到有点不爽,甚至用大量的篇幅来讨论C++的内存泄露,而且书后的示例也都已C++写成,用C++写也就得了,还用了很多笔墨来讨论本应该只属于C++的问题。
真希望现在这本书能够出第二版,跟上时代的步伐,然后对有些问题仔细讨论一下。Booch的那本OO书虽然出了新版,但是枯涩难懂,而且实践性也不强。
总体上来说,这还是一本不可多得的好书,虽然有些东西并不适合所有人看,虽然有些地方没有深入展开。只是感觉,相见恨晚。
相见恨晚
《Object-Oriented Design Heuristics》热门书评
-
相见恨晚
3有用 0无用 横刀天笑 2010-11-13
前些日子,公司的老大向我们的Tech Lead推荐了这本书,一看封面怎么这么熟悉,隐约还记得大学的时候在图书馆拿起又放下几次,可惜当时功力不够,根本无法读懂。如是到网上一搜,已经绝版,跑到淘宝上买了本复印版(我也不想买盗版啊,可惜已经绝办了)。这几日在地铁上几乎都是这本书为伴,可能是开发有些年头了,...
-
被埋没的经典——OOD必读书
1有用 0无用 oyquan 2012-01-15
要不是在《Code Complete》的推荐书目上看到这本书的名字,我还真没听说过有这么一本讲面向对象设计的好书。书中提出的61条面向对象设计原则,针对性强、容易理解和操作。如果一个设计毫无理由地违反了其中多个条款,几乎可以肯定,这个设计需要重构。对设计进行调整,以遵循这些条款,就是改善现有设计的过...
-
一书在手OOD全部把握
0有用 1无用 倪森 2006-09-28
面向对象经典书籍,一书在手,其他的书籍可以不用读了.唯一的缺点在于其中的C++的问题就用了一半的内容,这部分内容很明显是多余的....
书名: Object-Oriented Design Heuristics
作者: Arthur J·Riel
出版社: Addison-Wesley Professional
出版年: 1996-05-10
页数: 400
定价: USD 64.99
装帧: Hardcover
ISBN: 9780201633856