Robert C.Martin是Object Mentor公司的总裁。Martin和他的软件咨询队伍使用面向对象设计、模式、UML、敏捷方法学和极限编程,在世界各地都有他们的客户。他还是好几本畅销书的作者。他还是1996-1999年《C Report》杂志的总编,并多次在国际会议和展览中发表富有特色的演讲。
第Ⅰ部分 敏捷开发
及时章 敏捷实践
1.1 敏捷联盟
1.2 原则
1.3 结论
参考文献
第二章 极限编程概述
2.1 极限编程实践
2.2 结论
参考文献
第三章 计划
3.1 初始探索
3.2 计划
3.3 迭代计划第Ⅰ部分 敏捷开发
及时章 敏捷实践
1.1 敏捷联盟
1.2 原则
1.3 结论
参考文献
第二章 极限编程概述
2.1 极限编程实践
2.2 结论
参考文献
第三章 计划
3.1 初始探索
3.2 计划
3.3 迭代计划
3.4 任务计划
3.5 迭代
3.6 结论
参考文献
第四章 测试
4.1 测试驱动的开发方法
4.2 验收测试
4.3 结论
参考文献
第五章 重构
5.1 素数产生程序一个简单的重构示例
5.2 结论
参考文献
第六章 一次编程实践
6.1 保龄球比赛
6.2 结论
第Ⅱ部分 敏捷设计
第七章 什么是敏捷设计
7.1 软件出了什么错
7.2 设计的臭味——腐化软件的气味
7.3 “Copy”程序
7.4 保持尽可能好的设计
7.5 结论
参考文献
第八章 单一责任原则(SRP)
8.1 单一职责原则(SRP)
8.2 结论
参考文献
第九章 开放—封闭原则(OCP)
9.1 开放—封闭原则(OCP)
9.2 描述
9.3 关键是抽象
9.4 结论
参考文献
第十章 Liskov替换原则(LSP)
10.1 Liskov替换原则(LSP)
10.2 一个违反LSP的简单例子
10.3 正方形和矩形,更微妙的违规
10.4 一个实际的例子
10.5 用提取公共部分的方法代替继承
10.6 启发式规则和习惯用法
10.7 结论
参考文献
第十一章 依赖倒置原则(DIP)
11.1 依赖倒置原则(DIP)
11.2 层次化
11.3 一个简单的例子
11.4 熔炉示例
11.5 结论
参考文献
第十二章 接口隔离原则(ISP)
12.1 接口污染
12.2 分离客户就是分离接口
12.3 接口隔离原则(ISP)
12.4 类接口与对象接口
12.5 ATM用户界面的例子
12.6 结论
参考文献
第Ⅲ部分 薪水支付案例研究
第十三章 COMMAND模式和ACTIVE OBJECT模式
第十四章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托
第十五章 FACADE模式和MEDIATOR模式
第十六章 SINGLETON模式和MONOSTATE模式
第十七章 NULL OBJECT模式
第十八章 薪水支付案例研究:及时次迭代开始
第十九章 薪水支付案例研究:实现
第Ⅳ部分 打包薪水支付系统
第二十章 包的设计原则
第二十一章 FACTORY模式
第二十二章 薪水支付案例研究(第2部分)
第Ⅴ部分 气象站案例研究
第二十三章 COMPOSITE模式
第二十四章 OBSERVER模式——回归为模式
第二十五章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式
第二十六章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API
第二十七章 案例研究:气象站
第Ⅵ部分 ETS案例研究
第二十八章 VISITOR模式
第二十九章 STATE模式
第三十章 ETS框架
附录
附录A UML表示法Ⅰ:CGI示例
附录B UML表示法Ⅱ:统计多路复用器
附录C 两个公司的讽刺小品
附录D 源代码就是设计
索引
7.2 设计的臭味——腐化软件的气味
当软件出现下面任何一种气味时,就表明软件正在腐化。
僵化性(Rigidity):很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其他改动。
脆弱性(Fragility):对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。
牢固性(Immobility):很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。
粘滞性(Viscosity):做正确的事情比做错误的事情要困难。
不必要的复杂性(Needless Complexity):设计中包含有不具任何直接好处的基础结构。
不必要的重复(Needless Repetition):设计中包含有重复的结构,而该重复的结构本可以使用单一的抽象进行统
这次非常值得程序员去阅读!这对每个程序员来说都是一种更快提升自己的方式!
先下载的电子版的,看后确实很好,很实用,才购买的,不错的一本书,很有收获
大概扫了一下目录,觉得很不错,但是貌似纸张的质量有点对不起群众
刚入手,翻了一下,感觉不错,大师写的书应该错不了,翻译也不错
我比较的喜欢,内容比较的实际,并且结合了具体的项目进行论述,比较有说服力,值得一看
最近debug比较多,看了之后用不上,希望能够进入code的环节,就能边看边练了。
当当搞活动时买入的,书很不错,从理论到实践,正在学习中。
很好的书,感觉读了一部分之后对自己的开发时有帮助的,指导性很强
书没看完,关键是基础不够,需要看一些其他的基础类书籍才可以看这本书,不过的确经典
实际上开发的方法讲的比较少,设计原则讲的较多,适合纯设计的人员。
个人感觉本书是对于从事软件技术业的每个人不可或缺的一本书,需要多读多想,理解本书传达的理念不是一朝一夕可以做到的。
软件工程领域的经典,从最初遇到此书到现在已经有10年了,10年里他对我帮助很大,强烈推荐IT领域的朋友阅读
刚拿到就读了一部分,感觉很好,对我很有启发,期待读完!
非常好,讲怎么更好的控制项目的进度和产品的质量。也讲解了设计模式的知识,正是现在我所需要的。
被客户的敏捷开发唬住了去买的,书很好,有个作用是发现客户只不过是在装13。
还刚开始读 据说是超经典的书 软件开发思想永不过时 慕名而来
代码中有印刷的错误,如定义一个I变量,结果却使用i.
还没看,应该还不错。还买了一本Scrum敏捷开发,这两本应该是相互补充,相得益彰吧。
敏捷开发的思潮和方法,讲得很详细,具有很强的指导意义,很棒的书。
物流太烂了,我拿到书时只用了一个塑料袋包装,书角磨损。以后别在这里买东西了
不满意,书封面角的地方掉了一小块,而且有褶皱,感觉像旧的,纸张也一般
自己的水平跟不上,表示看不太懂,不过对能看懂的人应该来说是好书
这本书精辟地评述的敏捷开发的原则、模式和实践,受益匪浅,特别是对正在做软件开发人员帮助会很大。
从这本书中看到的不仅是敏捷开发设计的方法,更重要的是学习模式的一种探索,书中举了大量的例子来论证模式的应用,对初学者很有裨益