本书从软件架构设计必备的通用技能UML开始,重点介绍常用的类图和时序图;然后介绍软件架构设计常用的七大原则;接着结合JDK、Spring、MyBatis、Tomcat、Netty等经典框架源码对GoF的23种设计模式展开分析,并结合作者多年“踩坑填坑”和“教学答疑”经验,用深刻、全面、通俗、生动、有趣、接地气的方式结合真实业务场景分析每种设计模式,治愈“设计模式选择困难症”;之后介绍4种常用的新设计模式;最后总结软件架构、设计模式与应用框架之间的区别。
如果你已经有编程经验,那么你一定要学一遍设计模式;如果你是资深工程师或者架构师,那么本书将颠覆你以前的认知;如果你觉得设计模式晦涩难懂,那么本书一定能让你醍醐灌顶;如果你看框架源码总是力不从心,那么本书就是“内功心法”。
首创用经典框架讲设计模式/含JDK|Spring|MyBatis|Tomcat|Netty等源码/多年“踩坑填坑”和“教学答疑”经验总结/让设计模式真正落地
序 言
Design Patterns: Elements of Reusable Object-Oriented Software(以下简称《设计模式》),一书由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著(Addison-Wesley Professional,1994),这四位作者常被称为“四人组(Gang of Four,GoF)”,而这本书也就被称为“四人组(或 GoF)”书。他们首次给我们总结出一套在软件开发中可以反复使用的经验,帮助我们提高代码的可重用性、系统的可维护性等,解决软件开发中的复杂问题。
设计模式已诞生20多年,其间相继出版的关于设计模式的经典著作不计其数。如果说GoF的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书籍可称为“圣经”的“批注版”或者“白话版”。本书正是基于GoF的《设计模式》来编写的。
本书可以作为笔者对“圣经”实践的精华总结,是一本真正能够落地的“设计模式”之书,也是目前唯一从框架源码如何落地“设计模式”这个角度来理解设计模式的书。本书会结合JDK、Spring、MyBatis、Tomcat、Netty等经典框架源码展开对设计模式的分析。当然,本书还会结合笔者多年的“踩坑填坑”经验和“教学答疑”经验,用比“圣经”更深刻、更全面、更通俗、更生动、更有趣、更接地气的方式结合真实业务场景分析每种设计模式的优缺点,治愈“设计模式选择困难症”。选设计模式就像相亲选对象,一旦做好了接受他或她的缺点的准备,那么他或她就一定属于你。所以,本书对于日常开发而言更具有指导意义。
书中部分观点若有不妥之处,恳请纠正,共同进步!