设计模式就该这样学:基于经典框架源码和真实业务场景

设计模式就该这样学:基于经典框架源码和真实业务场景

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

一本让架构师豁然开朗的作品,软件架构设计师必读之作。

内容简介

本书从软件架构设计必备的通用技能UML开始,重点介绍常用的类图和时序图;然后介绍软件架构设计常用的七大原则;接着结合JDK、Spring、MyBatis、Tomcat、Netty等经典框架源码对GoF的23种设计模式展开分析,并结合作者多年“踩坑填坑”和“教学答疑”经验,用深刻、全面、通俗、生动、有趣、接地气的方式结合真实业务场景分析每种设计模式,治愈“设计模式选择困难症”;之后介绍4种常用的新设计模式;最后总结软件架构、设计模式与应用框架之间的区别。

如果你已经有编程经验,那么你一定要学一遍设计模式;如果你是资深工程师或者架构师,那么本书将颠覆你以前的认知;如果你觉得设计模式晦涩难懂,那么本书一定能让你醍醐灌顶;如果你看框架源码总是力不从心,那么本书就是“内功心法”。

作者简介

作者谭勇德,咕泡学院联合创始人。“手写源码学习法”开创者、“Java架构师成长路径”制定人、“程序员职业成长路线图”制定者,Java架构师讲师。著有畅销书《Spring 5核心原理与30个类手写实战》《Netty 4核心原理与手写RPC框架实战》。

10余年Java从业经验,在大型IT公司担任过CTO、系统架构师。精通Java、JS、CSS、AS、PHP等;负责过多个大型分布式系统的微服务架构的技术改造;多年来对主流技术框架有深入研究及独特见解;开发过多套企业内部UI框架和ORM框架;热衷于分享经验,共同进步。

章节目录

版权信息

序言

关于本书

关于我

为什么都叫我“文艺汤”

我的技术生涯

众多图书之下为什么写此书

第1篇 软件设计前奏篇

第1章 重新认识UML

1.1 UML的定义

1.2 UML应用场景

1.3 UML基本构件简介

第2章 设计模式常用的UML图

2.1 类图

2.2 时序图

第3章 七大软件架构设计原则

3.1 开闭原则

3.2 依赖倒置原则

3.3 单一职责原则

3.4 接口隔离原则

3.5 迪米特法则

3.6 里氏替换原则

3.7 合成复用原则

3.8 软件架构设计原则小结

第4章 关于设计模式的那些事儿

4.1 本书与GoF的《设计模式》的关系

4.2 为什么一定要学习设计模式

第2篇 创建型设计模式

第5章 简单工厂模式

5.1 工厂模式的历史由来

5.2 简单工厂模式概述

5.3 使用简单工厂模式封装产品创建细节

5.4 简单工厂模式在框架源码中的应用

5.5 简单工厂模式扩展

第6章 工厂方法模式

6.1 工厂方法模式概述

6.2 使用工厂方法模式实现产品扩展

6.3 工厂方法模式在Logback源码中的应用

6.4 工厂方法模式扩展

第7章 抽象工厂模式

7.1 抽象工厂模式概述

7.2 使用抽象工厂模式解决实际问题

7.3 抽象工厂模式在Spring源码中的应用

7.4 抽象工厂模式扩展

第8章 单例模式

8.1 单例模式概述

8.2 使用单例模式解决实际问题

8.3 单例模式在框架源码中的应用

8.4 单例模式扩展

第9章 原型模式

9.1 原型模式概述

9.2 使用原型模式解决实际问题

9.3 原型模式在框架源码中的应用

9.4 原型模式扩展

第10章 建造者模式

10.1 建造者模式概述

10.2 使用建造者模式解决实际问题

10.3 建造者模式在框架源码中的应用

10.4 建造者模式扩展

第3篇 结构型设计模式

第11章 代理模式

11.1 代理模式概述

11.2 使用代理模式解决实际问题

11.3 代理模式在框架源码中的应用

11.4 代理模式扩展

第12章 门面模式

12.1 门面模式概述

12.2 使用门面模式整合已知API的功能

12.3 门面模式在框架源码中的应用

12.4 门面模式扩展

第13章 装饰器模式

13.1 装饰器模式概述

13.2 使用装饰器模式解决实际问题

13.3 装饰器模式在框架源码中的应用

13.4 装饰器模式扩展

第14章 享元模式

14.1 享元模式概述

14.2 使用享元模式解决实际问题

14.3 享元模式在框架源码中的应用

14.4 享元模式扩展

第15章 组合模式

15.1 组合模式概述

15.2 使用组合模式解决实际问题

15.3 组合模式在框架源码中的应用

15.4 组合模式扩展

第16章 适配器模式

16.1 适配器模式概述

16.2 使用适配器模式解决实际问题

16.3 适配器模式在Spring源码中的应用

16.4 适配器模式扩展

第17章 桥接模式

17.1 桥接模式概述

17.2 使用桥接模式设计复杂消息系统

17.3 桥接模式在JDK源码中的应用

17.4 桥接模式扩展

第4篇 行为型设计模式

第18章 委派模式

18.1 委派模式概述

18.2 使用委派模式模拟任务分配场景

18.3 委派模式在框架源码中的应用

18.4 委派模式扩展

第19章 模板方法模式

19.1 模板方法模式概述

19.2 使用模板方法模式解决实际问题

19.3 模板方法模式在框架源码中的应用

19.4 模板方法模式扩展

第20章 策略模式

20.1 策略模式概述

20.2 使用策略模式解决实际问题

20.3 策略模式在框架源码中的应用

20.4 策略模式扩展

第21章 责任链模式

21.1 责任链模式概述

21.2 使用责任链模式解决实际问题

21.3 责任链模式在框架源码中的应用

21.4 责任链模式扩展

第22章 迭代器模式

22.1 迭代器模式概述

22.2 手写自定义的集合迭代器

22.3 迭代器模式在框架源码中的应用

22.4 迭代器模式扩展

第23章 命令模式

23.1 命令模式概述

23.2 使用命令模式重构播放器控制条

23.3 命令模式在框架源码中的应用

23.4 命令模式扩展

第24章 状态模式

24.1 状态模式概述

24.2 使用状态模式解决实际问题

24.3 状态模式在JSF源码中的应用

24.4 状态模式扩展

第25章 备忘录模式

25.1 备忘录模式概述

25.2 使用备忘录模式实现草稿箱功能

25.3 备忘录模式在Spring源码中的应用

25.4 备忘录模式扩展

第26章 中介者模式

26.1 中介者模式概述

26.2 使用中介者模式设计群聊场景

26.3 中介者模式在JDK源码中的应用

26.4 中介者模式扩展

第27章 解释器模式

27.1 解释器模式概述

27.2 使用解释器模式解析数学表达式

27.3 解释器模式在框架源码中的应用

27.4 解释器模式扩展

第28章 观察者模式

28.1 观察者模式概述

28.2 使用观察者模式解决实际问题

28.3 观察者模式在Spring源码中的应用

28.4 观察者模式扩展

第29章 访问者模式

29.1 访问者模式概述

29.2 使用访问者模式解决实际问题

29.3 访问者模式在框架源码中的应用

29.4 访问者模式扩展

第5篇 设计模式总结篇

第30章 专治设计模式选择困难症

30.1 设计模式到底如何落地

30.2 各种设计模式使用频率总结

30.3 一句话归纳设计模式

第31章 容易混淆的设计模式对比

31.1 创建型设计模式对比

31.2 结构型设计模式对比

31.3 行为型设计模式对比

31.4 跨类综合对比

第6篇 架构设计扩展篇

第32章 新设计模式

32.1 对象池模式

32.2 规格模式

32.3 空对象模式

32.4 雇工模式

第33章 软件架构与设计模式

33.1 软件架构和设计模式的区别

33.2 三层架构

33.3 ORM架构

33.4 MVC架构

33.5 RPC架构

33.6 未来软件架构演进之路

反侵权盗版声明

设计模式就该这样学:基于经典框架源码和真实业务场景是2020年由电子工业出版社出版,作者谭勇德。

得书感谢您对《设计模式就该这样学:基于经典框架源码和真实业务场景》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Spring源码深度解析(第2版) 电子书
一本实践与理论并重、广度与深度兼顾的Spring源码开发指南。
代码整洁之道:程序员的职业素养 电子书
编程大师40余年心得体会,阐释软件工艺中的原理、技术、工具和实践,助力专业软件开发人员具备令人敬佩的职业素养。
学Python,不加班——轻松实现办公自动化 电子书
1.深挖国内职场人群痛点,利用Python实现办公自动化。 2.结合实际案例讲解编程和数据库知识,让读者快速理解掌握。 3.完整行业案例全流程讲解,全方位解读Python在自动化办公中的作用。 4.附赠案例源代码、数据文件、在线视频、练习题及答案,方便举一反三。
PADSVX.2.2电路设计与仿真从入门到精通 电子书
本书可以作为大中专院校电子相关专业课堂教学教材,也可以作为各种培训机构培训教材,同时适合作为电子设计爱好者作为自学辅导书。
Go语言趣学指南 电子书
Go是谷歌公司为了解决重大问题而设计的一种小型编程语言。完成大型项目需要大型团队,而大型团队中团队成员的经验水平往往各不相同。Go是一种小巧却功能强大的语言,它能够被任何人理解和使用,无论其经验如何。 快速、现代的编程语言能让业余爱好者、初学者和专业人员都受益。你需要的正是这样的语言。本书针对Go语言基础知识提供了实操性的指导,使你能够掌握Go语法,使用类型和函数,探索状态和并发等更重要的概念,并通过大量练习来巩固学到的知识。 本书包括以下内容: ●切片、接口、指针和并发等重要语言概念; ●地鼠太空航行、火星探测器、文本加密以及人类繁衍模拟等7个单元实验; ●无须安装即可在Go Playground中运行的示例。 本书面向所有熟悉计算机编程以及渴望获得这一技能的人。