秦小波,资深软件开发工程师、系统分析师和架构师(获Sun架构师认证),从事软件开发工作10余年,实践经验极其丰富。资深Java技术专家,精通Java语言、Spring、Struts 2、Hibernate、iBatis、jBPM等Java技术,在企业级Java应用领域积累了大量工程经验,对ESB、BPEL等整合技术也有较深入的认识。精通设计模式,对设计模式有深刻的认识和独到见解,而且创造性地提出了自己在大量实践中总结出来的新的设计模式。他撰写的《设计模式之禅》一书凭借优质的内容和良好的可读性广获读者好评,被誉为“设计模式领域的里程碑之作”。此外,他还是一位优秀的DBA,获IBM DB2 DBA资格认证,对海量数据处理有深入的研究。
如果说“四人帮”的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书都可称之为“圣经”的“注释版”或“圣经的故事”。本书是得道者对“圣经”的“禅悟”,它既不像“圣经”那样因为惜字如金、字字珠玑而深奥、晦涩和难懂,又比“圣经”的“注释版”更深刻和全面、更通俗和生动、更接近开发者遇到的实践场景,更具指导性。本书兼收并蓄、博采众长,也许是设计模式领域里的下一个里程碑之作。全书共分为四部分,第一部分从原理的角度阐述了面向对象程序设计的6大原则;第二部生动地讲解和剖析了23种常见的设计模式,并进行了扩展,通俗易懂,趣味性极强而又紧扣模式的核心;第三部分对各种相关联的设计模式进行了深入分析和比较,旨在阐明各种设计模式比较理想的应用场景和它们之间的区别;第四部分探讨了设计模式的混编,讲解了如何在实际开发中将各种设计模式混合起来使用,以发挥设计模式的最大效用。最后,本书还附有一份设计模式彩图,可以裁剪,便于参考。
前 言第一部分 大旗不挥,谁敢冲锋—热身篇第1章 单一职责原则1.1 我是“牛”类,我可以担任多职吗1.2 绝杀技,打破你的传统思维1.3 我单纯,所以我快乐1.4 最佳实践第2章 里氏替换原则2.1 爱恨纠葛的父子关系2.2 纠纷不断,规则压制2.3 最佳实践第3章 依赖倒置原则3.1 依赖倒置原则的定义3.2 言而无信,你太需要契约3.3 依赖的三种写法3.4 最佳实践第4章 接口隔离原则4.1 接口隔离原则的定义4.2 美女何其多,观点各不同.4.3 保证接口的纯洁性4.4 最佳实践第5章 迪米特法则5.1 迪米特法则的定义5.2 我的知识你知道得越少越好5.3 最佳实践第6章 开闭原则6.1 开闭原则的定义6.2 开闭原则的庐山真面目6.3 为什么要采用开闭原则6.4 如何使用开闭原则6.5 最佳实践第二部分 我惹了谁—真刀实枪篇第7章 单例模式7.1 我是皇帝我独苗7.2 单例模式的定义7.3 单例模式的应用7.4 单例模式的扩展7.5 最佳实践第8章 工厂方法模式8.1 女娲造人的故事8.2 工厂方法模式的定义8.3 工厂方法模式的应用8.3.1 工厂方法模式的优点8.3.2 工厂方法模式的使用场景8.4 工厂方法模式的扩展8.5 最佳实践第9章 抽象工厂模式9.1 女娲的失误9.2 抽象工厂模式的定义9.3 抽象工厂模式的应用9.3.1 抽象工厂模式的优点9.3.2 抽象工厂模式的缺点9.3.3 抽象工厂模式的使用场景9.3.4 抽象工厂模式的注意事项9.4 最佳实践第10章 模板方法模式10.1 辉煌工程—制造悍马10.2 模板方法模式的定义10.3 模板方法模式的应用10.4 模板方法模式的扩展10.5 最佳实践第11章 建造者模式11.1 变化是永恒的11.2 建造者模式的定义11.3 建造者模式的应用11.4 建造者模式的扩展11.5 最佳实践第12章 代理模式12.1 我是游戏至尊12.2 代理模式的定义12.3 代理模式的应用12.3.1 代理模式的优点12.3.2 代理模式的应用12.4 代理模式的扩展12.4.1 普通代理12.4.2 强制代理12.4.3 代理是有个性的12.4.4 虚拟代理12.4.5 动态代理12.5 最佳实践第13章 原型模式13.1 个性化电子账单13.2 原型模式的定义13.3 原型模式的应用13.3.1 原型模式的优点13.3.2 原型模式的使用场景13.4 原型模式的注意事项13.4.1 构造函数不会被执行13.4.2 浅拷贝和深拷贝13.4.3 clone与final两个冤家13.5 最佳实践第14章 中介者模式14.1 进销存管理是这个样子的吗?14.2 中介者模式的定义14.3 中介者模式的应用14.4 中介者模式的实际应用14.5 最佳实践第15章 命令模式15.1 项目经理也难当15.2 命令模式的定义15.3 命令模式的应用15.3.1 命令模式的优点15.3.2 命令模式的缺点15.3.3 命令模式的使用场景15.4 命令模式的扩展15.4.1 未讲完的故事15.4.2 反悔问题15.5 最佳实践第16章 责任链模式16.1 古代妇女的枷锁—“三从四德”16.2 责任链模式的定义16.3 责任链模式的应用16.3.1 责任链模式的优点16.3.2 责任链模式的缺点16.3.3 责任链模式的注意事项16.4 最佳实践第17章 装饰模式17.1 罪恶的成绩单17.2 装饰模式的定义17.3 装饰模式应用17.3.1 装饰模式的优点17.3.2 装饰模式的缺点17.3.3 装饰模式的应用17.4 最佳实践第18章 策略模式18.1 刘备江东娶妻,赵云他容易吗18.2 策略模式的定义18.3 策略模式的应用18.3.1 策略模式的优点18.3.2 策略模式的缺点18.3.3 策略模式的应用18.3.4 策略模式的注意事项18.4 策略模式的扩展18.5 最佳实践第19章 适配器模式19.1 业务发展—上帝才能控制19.2 适配器模式的定义19.3 适配器模式的应用19.3.1 适配器模式的优点19.3.2 适配器模式的应用19.3.3 适配器模式的注意事项19.4 适配器模式的扩展19.5 最佳实践第20章 迭代器模式20.1 整理项目信息—苦差事20.2 迭代器模式的定义20.3 迭代器模式的应用20.4 最佳实践第21章 组合模式21.1 公司的人事架构是这样的吗21.2 组合模式的定义21.3 组合模式的应用21.3.1 组合模式的优点21.3.2 组合模式的缺点21.3.3 组合模式的应用21.3.4 组合模式的注意事项21.4 组合模式的扩展21.4.1 真实的组合模式21.4.2 透明的组合模式21.4.3 组合模式的遍历21.5 最佳实践第22章 观察者模式22.1 韩非子身边的卧底是谁派来的22.2 观察者模式的定义22.3 观察者模式的应用22.3.1 观察者模式的优点22.3.2 观察者模式的缺点22.3.3 观察者模式的应用22.3.4 观察者模式的注意事项22.4 观察者模式的扩展22.4.1 java世界中的观察者模式22.4.2 项目中真实观察者模式22.4.3 订阅发布模型22.5 最佳实践第23章 门面模式23.1 我要投递信件23.2 门面模式的定义23.3 门面模式的应用23.3.1 门面模式的优点23.3.2 门面模式的缺点23.3.3 门面模式的应用23.4 门面模式的注意事项23.4.1 一个子系统可以有多个门面23.4.2 门面不参与子系统内的业务逻辑23.5 最佳实践第24章 备忘录模式24.1 如此追女孩子,你还不乐24.2 备忘录模式的定义24.3 备忘录模式的应用24.3.1 备忘录模式的应用24.3.2 备忘录模式的注意事项24.4 备忘录模式的扩展24.4.1 clone方式的备忘录24.4.2 多状态的备忘录模式24.4.3 多备份的备忘录24.4.4 封装得更好一点24.5 最佳实践第25章 访问者模式25.1 员工的隐私何在?25.2 访问者模式的定义25.3 访问者模式的应用25.3.1 访问者模式的优点25.3.2 访问者模式的缺点25.3.3 访问者模式的应用25.4 访问者模式的扩展25.4.1 统计功能25.4.2 多个访问者25.4.3 双分派25.5 最佳实践第26章 状态模式26.1 城市的纵向发展功臣—电梯26.2 状态模式的定义26.3 状态模式的应用26.3.1 状态模式的优点26.3.2 状态模式的缺点26.3.3 状态模式的应用26.3.4 状态模式的注意事项26.4 最佳实践第27章 解释器模式27.1 四则运算你会吗27.2 解释器模式的定义27.3 解释器模式的应用27.3.1 解释器模式的优点27.3.2 解释器模式的缺点27.3.3 解释器模式使用的场景27.3.4 解释器模式的注意事项27.4 最佳实践第28章 享元模式28.1 内存溢出,司空见惯28.2 享元模式的定义28.3 享元模式的应用28.3.1 享元模式优点和缺点28.3.2 享元模式的应用28.4 享元模式的扩展28.4.1 线程安全的问题28.4.2 性能平衡28.5 最佳实践第29章 桥梁模式29.1 我有一个梦想……29.2 桥梁模式的定义29.3 桥梁模式的应用29.3.1 桥梁模式的优点29.3.2 桥梁模式的应用29.3.3 桥梁模式的注意事项29.4 最佳实践第三部分 谁的地盘谁做主—模式pk篇第30章 创建类模式大pk30.1 工厂方法模式vs建造者模式30.1.1 按工厂方法建造超人30.1.2 按建造者模式建造超人30.1.3 最佳实践30.2 抽象工厂模式vs建造者模式30.2.1 按抽象工厂模式生产车辆30.2.2 按建造者模式生产车辆30.2.3 最佳实践第31章 结构类模式大pk31.1 代理模式vs装饰模式31.1.1 代理模式31.1.2 装饰模式31.1.3 最佳实践31.2 装饰模式vs适配器模式31.2.1 按装饰模式描述丑小鸭31.2.2 按适配器模式实现丑小鸭31.2.3 最佳实践第32章 行为类模式大pk32.1 命令模式vs策略模式32.1.1 策略模式实现压缩算法32.1.2 命令模式实现压缩算法32.1.3 小结32.2 策略模式vs状态模式32.2.1 策略模式实现人生32.2.2 状态模式实现人生32.2.3 小结32.3 观察者模式vs责任链模式32.3.1 责任链模式实现dns解析过程32.3.2 触发链模式实现dns解析过程32.3.3 小结第33章 跨战区pk33.1 策略模式vs桥梁模式33.1.1 策略模式实现邮件发送33.1.2 桥梁模式实现邮件发送33.1.3 最佳实践33.2 门面模式vs中介者模式33.2.1 中介者模式实现工资计算33.2.2 门面模式实现工资计算33.2.3 最佳实践33.3 包装模式群pk33.3.1 代理模式33.3.2 装饰模式33.3.3 适配器模式33.3.4 桥梁模式33.3.5 最佳实践第四部分 完美世界—混编模式第34章 命令模式+责任链模式34.1 搬移unix的命令34.2 混编小结第35章 工厂方法模式+策略模式35.1 迷你版的交易系统35.2 混编小结第36章 观察者模式+中介者模式36.1 事件触发器的开发36.2 混编小结第37章 规格模式37.1 规格模式的实现37.2 最佳实践第38章 mvc框架38.1 mvc框架的实现38.1.1 mvc的系统架构38.1.2 模型管理器38.1.3 值栈38.1.4 视图管理器38.1.5 工具类38.2 最佳实践附录:23个设计模式
评论关闭。