内容介绍:
2003年6月荣获美国《软件开发》第13届震憾(Jolt)大奖!
在本书中,享誉全球的软件开发专家和软件工程大师 Robert C.Martin 将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。
●讲述在预算和时间要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。
●使用真实案例讲解如何用极限编程来设计、测试、量构和结对编程
●包含了极具价值的可多次使用的 C++ 和 JAVA 源代码。
●重点讲述了如何使用 UML 和设计模式解决面向客户系统
本书主要包含4部分内容,这些内容对于今天的软件工程师都非常的重要,它们是:
●Agile方法:主要讲述了如何去使用 Agile 方法,其中有很大一部分内容是告诉你为什么要这样做。
●面向对象设计原则:本书包含了11个面向对象设计原则,涵盖了包的设计和类的设计。这是我所见过的对这方面内容讲解的最清晰、最彻底、最深刻的唯一的一本书。
●设计模式:本书中讲述了23个设计模式,并都有具体的实例。讲解的重点在如何在实际的应用中去使用模式,如何根据当前问题的上下文以及约束力去选择最适合的模式,以及何时避免使用模式。
●UML:本书不是关于 UML 的,但是为了让读者更好的理解书中的内容,作者使用了一些UML图来展示设计思路。同时,本书中也对如何有效的使用UML做了深入的阐述。本书中有两个附录专门对UML进行了简介。
总之,本书是写给那些一线的软件工程师的。如果你想学习UML,如果你想学习如何去设计软件,如果你想学习设计模式,如果你想学习最好的软件开发实践,那么请阅读本书。
作者介绍:
Robert Cecil Martin 是软件开发领域里的一个响当当的名字。1970年代,他还是个年轻小伙子的时候就是一位有名的 UNIX 黑客。经过长期的开发实践后,他成了软件开发领域中的知名专家。1990年代初,Rational 软件公司首席科学家 Grady Booch 邀请他加盟,目的是要借助他丰富的实践经验,结合 Booch 自己的软件设计理念,开发一套创新性的软件产品。这是个什么软件呢?说起来大名鼎鼎,就是 Rational ROSE 的早期版本!在 Rational 公司期间,Martin 丰富的实践经验与 Booch 深厚的理论功底形成了完美的组合,把面向对象设计的理论与实践推向了高峰。1994年,Martin的第一本著作《Designing Object-Oriented C++ Application Using the Booch Method》也由 Prentice Hal l出品。这两本书彼此相互辉映,当时引起了很大的反响。Martin 的这本书结合了当时最流行的面向对象 语言C++ 和最出色的面向对象设计建模方法 Booch Method,以大量实例讲解技术概念和应用方法,分析透彻,讲解务实,技术精妙,在读者中声誉极佳。这本书不单为 Martin 确立了软件设计领域顶尖专家的地位,而且奠定了他独一无二的写作风格。
内容截图:
目录:
第一部分 敏捷开发
第1章 敏捷联盟
第2章 极限编程概述
第3章 计划
第4章 测试
第5章 重构
第6章 一次编程实践
第二部分 敏捷设计
第7章 什么是敏捷设计
第8章 单一职责原则(SRP)
第9章 开放—封闭原则(OCP)
第10章 Liskov替换原则(LSP)
第11章 依赖倒置原则(DIP)
第12章 接口隔离原则(ISP)
第三部分 薪水支付案例研究
第13章 COMMAND模式和ACTIVE OBJECT模式
第14章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托
第15章 FACADE模式和MEDIATOR模式
第16章 SINGLETON模式和MONOSTATE模式
第17章 NULL OBJECT模式
第18章 薪水支付案例研究:第一次迭代开始
第19章 薪水支付案例研究:实现
第四部分 打包薪水支付系统
第20章 包的设计原则
第21章 FACTORY模式
第22章 薪水支付案例研究(第2部分)
第五部分 气象站案例研究
第23章 COMPOSITE模式
第24章 OBSERVER模式—回归为模式
第25章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式
第26章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API
第27章 案例研究:气象站
第六部分 ETS案例研究
第28章 VISITOR模式
第29章 STATE模式
第30章 ETS框架
附录
附录A UML表示法I:CGI示例
附录B UML表示法II:统计多路复用器
附录C 两上公司的讽刺小品
附录D 源代码就是设计
索引