具体描述
在本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。
作者简介
目录信息
第一章 敏捷实践
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 源代码就是设计
索引
· · · · · · (收起)
读后感
根据最近所阅读到的,对断言语义(assert semantic)感触颇深。断言的实际应用莫过于契约编程,而契约是一种人与人之间社会行为。我说了,你定要做到,你做不到,那就得给予我赔偿。我觉得不妨理解为自省,一种超我自我超越本我的自发行为。我发现自己这块做不到,我就要努力去...
书是好书,但译者水平太差,还没有google翻译的结果好。语法混乱,语句难以理解就不说了,好多地方不知道该怎么翻译了,直接把原书的单词放在句中了事。原书中重要的、斜体字部分在译文中也没有相应的表现。就连敏捷软件开发宣言这种重要的内容,在本书中竟然出现了多个版本。...
孟岩为这本书写了一个代序.这个代序很长,有两页半,其中一页半用来讲述孟岩本人和这本书的感情纠葛. 我为大家复述一下这段感人至深的故事.下面孟先生代表孟岩,小doocaubm和Asd代表什么,请您自己判断. 2001年秋天,北京,孟先生那时候已经颇有些成就了,见识也颇有些广泛了,但是他...
介绍面向对象设计原则、设计模式、包原则等方面的内容写的非常好,挺容易理解的。比其他类型的书讲的更透。后面介绍项目的就非常晦涩难懂了。也不知道是作者说的不清楚还是翻译的问题,亦或者是我水平的问题,反正看的非常焦躁。有些话感觉是个人都看不懂。 介绍面向对象设计原...
孟岩为这本书写了一个代序.这个代序很长,有两页半,其中一页半用来讲述孟岩本人和这本书的感情纠葛. 我为大家复述一下这段感人至深的故事.下面孟先生代表孟岩,小doocaubm和Asd代表什么,请您自己判断. 2001年秋天,北京,孟先生那时候已经颇有些成就了,见识也颇有些广泛了,但是他...
用户评价
这本书的出现,对于我来说,无疑是在混沌的项目开发世界里点亮了一盏明灯。它以一种非常直观且富有逻辑性的方式,阐述了如何摆脱传统开发模式的束缚,拥抱更加灵活和高效的敏捷实践。我尤其赞赏书中对于“变化”的态度,它不再将变化视为洪水猛兽,而是将其看作是提升产品质量、满足客户需求的契机。这种思维的转变,让我对自己过去对项目计划的固执有了深刻的认识。书中提出的“小步快跑、持续交付”的理念,在我看来,是应对快速变化的市场环境最有效的武器。它能够帮助我们团队在不断试错中找到最优解,并能让客户更早地享受到产品的迭代成果。这本书就像一本操作手册,它不仅仅是理论的讲解,更是实操的指导,让我看到了如何一步一步地将敏捷的理念落地,并在实际工作中取得切实的成效。
我通常不太喜欢阅读理论性太强的书籍,但这本书却让我耳目一新。它仿佛一位充满智慧的长者,用充满洞察力的语言,揭示了软件开发中被忽视的精髓。我特别欣赏书中对“个体价值”和“团队自治”的解读。它告诉我,一个高效的团队,并非完全依赖于外部的指令,而是能够激发每个成员的内在驱动力,让他们在自我管理和协作中创造价值。书中提出的“自组织团队”概念,让我对团队的未来充满了期待。它让我看到了,在一个充满信任和尊重的环境中,团队成员能够如何发挥出超乎想象的潜力。这本书的语言风格也十分吸引人,它不像一些技术书籍那样枯燥乏味,而是充满了启发性和引导性,让我一边阅读,一边忍不住思考,并尝试将书中的理念应用到自己的工作实践中。我感觉自己不再是被动地接受知识,而是主动地与作者进行思想的交流,这种体验非常难得。
这本书就像一位经验丰富的导师,循循善诱地将我带入了一个更加高效、更加人性化的工作环境。我一直对传统瀑布式开发的弊端有所体会,但却找不到切实可行的方法去改变。而这本书,则为我提供了一套完整且易于理解的框架。它没有罗列一大堆术语,而是用一种非常接地气的方式,讲述了如何在实际工作中推行敏捷。我特别欣赏书中对“协作”和“沟通”的强调,它告诉我,一个成功的敏捷团队,不仅仅是技术能力的集合,更是成员之间默契配合、信息畅通的共同体。书中提到的“站会”和“回顾会议”,虽然形式简单,但其背后蕴含的持续改进的理念,却是提升团队效能的关键。我开始反思自己过去在团队协作中遇到的种种问题,很多都源于沟通不畅、信息孤岛。这本书提供了一种解决这些问题的思路,让我看到了打破僵局的可能性。它不仅仅是一本技术书籍,更像是一本关于组织行为学和团队建设的指南,让我明白了如何构建一个充满活力、能够自我驱动的团队。
这本书绝对是我近期阅读体验中最具颠覆性的一本。我一直以为自己对项目管理和软件开发流程有了相当的了解,但读完这本书,我才意识到自己之前的认知是多么的狭隘。它没有枯燥的理论堆砌,而是通过一个个生动的故事和案例,将“敏捷”这个概念拆解得淋漓尽致。我尤其喜欢作者在书中对“响应变化”的深刻阐述,这与我过去那种“计划先行,死守计划”的模式形成了鲜明的对比。它让我意识到,在快速变化的软件开发领域,僵化的计划往往是最大的阻碍。书中提出的那些迭代、增量开发的方法,虽然初听起来有些“反传统”,但细细品味,却有着极强的实践指导意义。例如,它如何帮助团队更早地发现问题,如何让客户更早地看到成果,以及如何通过持续反馈来优化产品。读这本书的过程,就像是在解锁一种全新的思维方式,它不仅仅是关于写代码,更是关于如何构建一个能够灵活适应、不断进化的团队和产品。我感觉自己对“效率”的理解也发生了根本性的改变,不再是单纯追求单位时间的产出,而是更关注整个生命周期的价值交付。
对于我这样一名有着多年开发经验的从业者来说,这本书提供了一种全新的视角来审视我们日常的工作流程。它没有鼓吹某种神奇的“银弹”,而是务实地探讨了如何在现实世界的复杂性和不确定性中,找到一条更有效率的开发路径。我最受触动的是书中对“客户价值”的定义,它不仅仅是交付功能,更是理解客户真正的需求,并在这个基础上不断调整和优化。这让我意识到,很多时候,我们团队的努力方向可能与客户的真实期望存在偏差,而这本书提供的方法,恰恰能够帮助我们弥合这种差距。它强调的“持续交付”和“快速反馈”机制,让我看到了如何通过小步快跑的方式,来规避大型项目风险,同时也能让团队在不断尝试和学习中成长。我开始想象,如果早些年接触到这样的理念,我们曾经的项目可能会走上另一条更平稳、更成功的道路。这本书给我带来的启发,远不止于技术层面,更在于一种对项目管理和团队协作的深刻反思。
很棒的一本书,深入浅出的讲解了敏捷的关键内容。
其实是讲OOP的书,对设计原则的讲解非常精辟,后悔没早点看
关于敏捷的部分讲的不够深入,概念性的东西偏多。后面关于软件设计原则的讲解,还值得一看。
内容充实,举例得当,翻译通达,还不贵……
如果让我推荐一本计算机方面的书,我就推荐这本3p,通过阅读该书,可以学到很多软件设计与实现方面的知识,还能学到人生哲理,而且有丰富的例子,绝对不枯燥