OOD启思录

当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > OOD启思录

出版社:人民邮电出版社
出版日期:2004年8月1日
ISBN:9787115123367
作者:里尔(Riel.A.J.)
页数:358 页页

内容概要

Arthur J.Riel从事C和C++编程工作已有超过12年的经验,目前,他每年在学术界和产业界讲授40多次课程。他参与了许多系统的开发,曾就职于AT&T贝尔实验室、Draper实验室、IBN、东北大学。他还在Journal of Object -Oriented Progrting,The C++Insider、The C/C++Gazette等刊物上发表了众多文章。
译者简介:鲍志云,已翻译出版了《对象揭秘:Java、effiel和C++》和《解析MDA》3S本译著,曾以“紫云英”为笔名在《程序员》、《程序春秋》等刊物上发表多篇技术文章,并为《DDJ软件研发》翻译技术文章。他在学生时代曾参加ACM/ICPC亚洲区比赛并获佳绩,曾参加“挑战杯”学术科技作品竞赛并获全国二等奖。

书籍目录

第1章  面向对象编程的动因      1.1  革命家、改革家与面向对象范型      1.2  Frederick Brooks观点:非根本复杂性与根本复杂性      1.3  瀑布模型      1.4  迭代模型      1.5  构造原型:相同语言与不同语言      1.6  软件复用性      1.7  优秀设计者阶层      术语表    第2章  类和对象:面向对象范型的建材      2.1  类和对象导引      2.2  消息和方法      2.3  类耦合与内聚      2.4  动态语义      2.5  抽象类      2.6  角色与类      术语表      经验原则小结    第3章  应用程序布局:面向动作与面向对象      3.1  应用程序的不同布局      3.2  面向动作范型何时适用      3.3  问题:全能类(行为表现)      3.4  系统功能不良分布的另一个例子      3.5  问题:全能类(数据表现)      3.6  问题:泛滥成灾的类      3.7  代理类的角色      3.8  用途考察:单独实体和控制类      术语表      经验原则小结    第4章  类和对象的关系      4.1  类和对象关系导引     4.2  使用关系      4.3  实现使用关的6种不同方法      4.4  使用关系的经验原则      4.5  精确调整两个类之间的协作量      4.6  包含关系      4.7  类之间的语义约束      4.8  属性与被包含的类      4.9  包含关系的更多经验原则      4.10  使用和包含的关系      4.11  值包含与引用包含      术语表      经验原则小结    第5章  继承关系      5.1  继承关系导引      5.2  在派生类中覆写基类方法      5.3  在基类中使用保护区域      5.4  继承层次结构的宽度和深度      5.5  C++的划分:私有、保护和公有继承      5.6  一个现实世界中的特化例子      5.7  经验原则:寻求设计复杂性和灵活性的平衡      5.8  一个现实世界中的泛化例子      5.9  多态机制      5.10  把继承作为复用机制的一个问题      5.11  用继承实现中断驱动架构的方案      5.12  继承层次结构与属性      5.13  混淆:继承的需求与对象动态语义      5.14  用继承来隐藏类的实现      5.15  把对象误当作继承类      5.16  把需概括对象误作需在运行时创建类      5.17  在派生类中屏蔽基类方法的尝试      5.18  对象可选部分的实现      5.19  没有最优解的问题      5.20  复用组件与复用框架      术语表      经验原则小结    第6章  多重继承      6.1  多重继承导引      6.2  多重继承的常见误用      6.3  多重继承的正当使用      6.4  不支持多重继承的语言中的非根本复杂性      6.5  用到多重继承的框架      6.6  运用多重继承:设计mixin      6.7  DAG多重继承      6.8  可选包含的不良实现造成的不当DAG多重继承      术语表      经验原则小结    第7章  关联关系      7.1  关联导引      7.2  用引用属性实现关联      7.3  用第三方类实现关联      7.4  在包含关系和关联关系间取舍      术语表      经验原则小结    第8章  与特定类相关的数据及行为      8.1  类相关与对象相关数据及行为导引      8.2  用元类来表示类相关数据及行为      8.3  用语言层面关键字来实现类相关与对象相关数据及行为      8.4  C++中的元类      8.5  有用的抽象类,但不是基类      术语表      经验原则小结    第9章  面向对象物理设计      9.1  面向对象逻辑设计和物理设计的角色      9.2  创建面向对象包装器      9.3  面向对象系统中的持久化      9.4  面向对象应用程序中的内存管理问题      9.5  可复用组件的最小公有接口      9.6  实现安全的浅拷贝      9.7  并行面向对象编程      9.8  用非面向对象语言实现面向对象设计      术语表      经验原则小结    第10章  经验原则和模式的关系      10.1  经验原则与模式      10.2  设计变换模型的传递性      10.3  设计变换模式的自反性      10.4  其他设计变换模式      10.5  未来研究    第11章  在面向对象设计中使用经验原则      11.1  ATM问题      11.2  选择方法学      11.3  产生ATM对象模型的第一次尝试      11.4  给我们的对象模型增加行为      11.5  非根本复杂性带来的显式情况分析      11.6  在不同地址对象间传递消息      11.7  交易处理      11.8  回到ATM的领域      11.9  其他杂类问题      11.10  小结    附录A  经验原则总结    附录B  C++中的内存泄漏    附录C  C++实例精选    本书中引用到的其他图书    参考文献

作者简介

本书提供了改进面向对象设计的真知灼见。
全书共11章,总结出了60多条面向对象设计(OOD)的指导原则。这些经验原则涵盖了从类到对象(主要强调它们之间的关系,包括关联、使用、包含、单继承、多继承)到面向对象物理设计的重要主题。本书将帮助你理解经验原则和“设计模式”这一流行概念之间的相互作用。你可以借助经验原则发现设计中所存在的某一方面的问题,而设计模式则提供了解决方案。
本书对各个层次的开发者都有价值。新手能借助本书走上通向面向对象编程的快车道;想提升自己的面向对象开发水准的老手则会受益于本书深具洞察力的分析。《OOD启思录》提供了让你成为更好的软件开发者的途径。

图书封面


 OOD启思录下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计2条)

  •     面向对象经典书籍,一书在手,其他的书籍可以不用读了.唯一的缺点在于其中的C++的问题就用了一半的内容,这部分内容很明显是多余的.
  •     前些日子,公司的老大向我们的Tech Lead推荐了这本书,一看封面怎么这么熟悉,隐约还记得大学的时候在图书馆拿起又放下几次,可惜当时功力不够,根本无法读懂。如是到网上一搜,已经绝版,跑到淘宝上买了本复印版(我也不想买盗版啊,可惜已经绝办了)。这几日在地铁上几乎都是这本书为伴,可能是开发有些年头了,所以书中很多经验原则常常引起共鸣。从书中可以看出,作者极其强调封装,仔细读来,确实发现封装乃面向对象的基石,为此我也写了篇博客来讨论封装。还记得书中有一点让我慨叹不已:作者曾经写了个C++类库准备出售,为了便于使用者使用,就给类库里所有的类写了个基类,定义了一个最小公共接口,然后咋一看,这个最小公共接口不就是今天Java或.NET里的Object么!还有一点令我感触比较深的是,作者说在很多技术评审会议里,人们花了几个小时在争论一个东西,最后发现他们讨论的是关于对象命名的问题。这与上次公司的OO训练营里老大提的面向对象就是起名的艺术不谋而合(虽然当时老大有点开玩笑,不过有的时候真的是真的,一个命名或许就能改变对象的职责,大家对命名的争论,往往表示大家对对象职责的不同看法)。不过在读此书的时候却有些奇怪,书中很多经验原则都是设计模式里介绍的,作者却起了另外一些名字,同事说可能是这本书比设计模式那本出版早,不过我却发现书后的引用文献有GOF的《Design Pattern》。还有一点是,这本本应该是OOD的书籍,却掺和了很多C++的元素,这让我感到有点不爽,甚至用大量的篇幅来讨论C++的内存泄露,而且书后的示例也都已C++写成,用C++写也就得了,还用了很多笔墨来讨论本应该只属于C++的问题。真希望现在这本书能够出第二版,跟上时代的步伐,然后对有些问题仔细讨论一下。Booch的那本OO书虽然出了新版,但是枯涩难懂,而且实践性也不强。总体上来说,这还是一本不可多得的好书,虽然有些东西并不适合所有人看,虽然有些地方没有深入展开。只是感觉,相见恨晚。

精彩短评 (总计10条)

  •     书中的面向对象设计原则总结全面!
  •     面向对象经典书籍,一书在手,其他的书籍可以不用读了
  •     历史虽然久远,大多数内容依然振聋发聩.
  •       要不是在《Code Complete》的推荐书目上看到这本书的名字,我还真没听说过有这么一本讲面向对象设计的好书。
      书中提出的61条面向对象设计原则,针对性强、容易理解和操作。如果一个设计毫无理由地违反了其中多个条款,几乎可以肯定,这个设计需要重构。对设计进行调整,以遵循这些条款,就是改善现有设计的过程。书中专门有一章,示范了如何将这些原则应用于具体的面向对象设计(ATM提款机设计)。
      本书的一个缺陷是:C++代码太多,附录B(C++内存泄露)和附录C(书中设计例子的C++实现)是多余的。
  •     有点形而上
  •     对oo的认识可以上升一个层次
  •     为什么这本好书会被埋没,沉寂在图书馆的一角,甚至在豆瓣上也少有人提及。如果不是偶然,又怎有后面的相见恨晚。
  •     很老的一本书了,但是内容还很实用,对面向对象的设计很有指导作用,我是从淘宝买的二手翻印书,结果发现亚马逊上面还有货。我本身对C++没有实战经验,所以有近1/3讲述C++内存泄露和C++代码的部分浪费了。即使这样感觉还是很值。
  •     没有经验所以读起来费劲,但感觉很实用可读性也还可以
  •     非常非常好的面向对象启蒙书籍,受益匪浅~
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024