万本电子书0元读

万本电子书0元读

顶部广告

重学Java设计模式电子书

本书是一本动手实战的技术图书,主要介绍设计模式解决方案的具体落地方法。 本书从互联网实际的业务发中遴选出大量的真实案例场景,包括交易、营销、秒杀等,并结合规则引擎、中间件、框架源码和RPC设计等技术介绍设计模式,帮助发人员在实际的业务中灵活运用设计模式。 本书通过有趣的例子,配合精美插画,结合实战案例讲解,有良好的阅读体验! 基于自己多年的经验撰写,没有晦涩难懂的理论说教,深浅出地讲解设计模式精髓。

售       价:¥

纸质售价:¥101.10购买纸书

423人正在读 | 0人评论 6.2

作       者:付政委

出  版  社:电子工业出版社

出版时间:2021-04-01

字       数:9.7万

所属分类: 科技 > 计算机/网络 > 多媒体/数据通信

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是一本基于互联网真实案例编写的Java设计模式实践图书。全书以解决方案为核心,从实际发业务中抽离出交易、营销、规则引擎、中间件、框架源码等22个真实场景,对设计模式行全面、彻底的分析。帮助读者灵活地使用各种设计模式,从容应对复杂变化的业务需求,编写出易维护、可扩展的代码结构。本书融合了生动有趣的动画插图和实践发的类结构图,让读者不仅能体会设计模式的概念和原理,更能清楚地知晓落地方法。此外,本书还介绍了DDD四层架构、RPC中间件设计、分布式领域驱动设计和设计模式的结合使用等内容。本书适合计算机相关行业的研发人员、高等院校计算机专业的学生阅读。无论是初学者,还是中、高级研发人员都能从本书中有所获益。<br/>【推荐语】<br/>本书是一本动手实战的技术图书,主要介绍设计模式解决方案的具体落地方法。 本书从互联网实际的业务发中遴选出大量的真实案例场景,包括交易、营销、秒杀等,并结合规则引擎、中间件、框架源码和RPC设计等技术介绍设计模式,帮助发人员在实际的业务中灵活运用设计模式。 本书通过有趣的例子,配合精美插画,结合实战案例讲解,有良好的阅读体验! 基于自己多年的经验撰写,没有晦涩难懂的理论说教,深浅出地讲解设计模式精髓。 跟着小傅哥学设计模式,从容应对复杂变化的业务需求,写出易维护、可扩展的代码结构!<br/>【作者】<br/>付政委(小傅哥),一线互联网 Java 工程师、架构师,发过交易、营销类项目,实现过运营、活动类项目,设计过中间件,组织过系统重构,编写过技术专利。不仅从事业务系统的发工作,也经常做一些字节码插桩类的设计和实现,对架构的设计和落地有丰富的经验。在热衷于Java语言的同时,也喜欢研究中继器、I/O板卡、C#和PHP,是一个技术活跃的折腾者。常逛GitHub,乐于分享技术文章。 沉淀、分享、成长,让自己和他人都能有所收获!<br/>
目录展开

作者介绍

内容简介

推荐语

前言

第1章 设计模式介绍

1.1 设计模式是什么

1.2 谁发明了设计模式

1.3 设计模式有哪些种类

1.4 该如何学习设计模式

第2章 六大设计原则

2.1 单一职责原则

2.1.1 单一职责原则定义

2.1.2 模拟场景

2.1.3 违背原则方案

2.1.4 单一职责原则改善代码

2.2 开闭原则

2.2.1 开闭原则定义

2.2.2 模拟场景

2.2.3 违背原则方案

2.2.4 开闭原则改善代码

2.3 里氏替换原则

2.3.1 里氏替换原则定义

2.3.2 模拟场景

2.3.3 违背原则方案

2.3.4 里氏替换原则改善代码

2.4 迪米特法则原则

2.4.1 迪米特法则定义

2.4.2 模拟场景

2.4.3 违背原则方案

2.4.4 迪米特法则改善代码

2.5 接口隔离原则

2.5.1 接口隔离原则定义

2.5.2 模拟场景

2.5.3 违背原则方案

2.5.4 接口隔离原则改善代码

2.6 依赖倒置原则

2.6.1 依赖倒置原则定义

2.6.2 模拟场景

2.6.3 违背原则方案

2.6.4 依赖倒置原则改善代码

第3章 设计模式如何落地

3.1 设计模式该怎样学

3.2 为什么使用设计模式

3.3 设计模式的落地经验

第4章 工厂模式

4.1 码农心得

4.2 工厂模式介绍

4.3 模拟发放多种奖品

4.4 违背设计模式实现

4.4.1 工程结构

4.4.2 if…else实现需求

4.4.3 测试验证

4.5 工厂模式重构代码

4.5.1 工程结构

4.5.2 定义发奖接口

4.5.3 实现三种发奖接口

4.5.4 创建商店工厂

4.5.5 测试验证

4.6 本章总结

第5章 抽象工厂模式

5.1 码农心得

5.2 抽象工厂模式介绍

5.3 缓存集群升级场景

5.3.1 场景模拟工程

5.3.2 Redis单机服务RedisUtils

5.3.3 Redis集群服务EGM

5.3.4 Redis集群服务IIR

5.3.5 模拟早期单体Redis使用

5.4 违背设计模式实现

5.4.1 工程结构

5.4.2 if…else实现需求

5.4.3 测试验证

5.5 抽象工厂模式重构代码

5.5.1 工程结构

5.5.2 定义集群适配器接口

5.5.3 实现集群适配器接口

5.5.4 代理方式的抽象工厂类

5.5.5 测试验证

5.6 本章总结

第6章 建造者模式

6.1 码农心得

6.2 建造者模式介绍

6.3 装修套餐选配场景

6.3.1 场景模拟工程

6.3.2 装修材料接口

6.3.3 吊顶材料(ceiling)

6.3.4 涂料材料(coat)

6.3.5 地板材料(floor)

6.3.6 地砖材料(tile)

6.4 违背设计模式实现

6.4.1 工程结构

6.4.2 if…else实现需求

6.4.3 测试验证

6.5 建造者模式重构代码

6.5.1 工程结构

6.5.2 定义装修包接口

6.5.3 实现装修包接口

6.5.4 建造者类创建

6.5.5 测试验证

6.6 本章总结

第7章 原型模式

7.1 码农心得

7.2 原型模式介绍

7.3 试卷题目乱序场景

7.3.1 场景模拟工程

7.3.2 选择题类

7.3.3 问答题类

7.4 违背设计模式实现

7.4.1 工程结构

7.4.2 所有需求都写到一个类里

7.4.3 测试验证

7.5 原型模式重构代码

7.5.1 工程结构

7.5.2 题目混排工具包

7.5.3 题库复制对象类

7.5.4 初始化试卷数据

7.5.5 测试验证

7.6 本章总结

第8章 单例模式

8.1 码农心得

8.2 单例模式介绍

8.3 案例场景介绍

8.4 七种单例模式实现方式

8.4.1 静态类使用

8.4.2 懒汉模式(线程不安全)

8.4.3 懒汉模式(线程安全)

8.4.4 饿汉模式(线程安全)

8.4.5 使用类的内部类(线程安全)

8.4.6 双重锁校验(线程安全)

8.4.7 CAS“AtomicReference”(线程安全)

8.4.8 Effective Java作者推荐的枚举单例(线程安全)

8.5 本章总结

第9章 适配器模式

9.1 码农心得

9.2 适配器模式介绍

9.3 MQ消息体兼容场景

9.3.1 场景模拟工程

9.3.2 注册开户MQ

9.3.3 内部订单MQ

9.3.4 第三方订单MQ

9.3.5 查询用户内部下单数量接口

9.3.6 查询用户第三方下单首单接口

9.4 违背设计模式实现

9.4.1 工程结构

9.4.2 MQ接收消息实现

9.5 适配器模式重构代码

9.5.1 工程结构

9.5.2 MQ适配

9.5.3 MQ消息适配测试验证

9.5.4 接口适配需求阐述

9.5.5 定义统一适配接口

9.5.6 分别实现两个不同的接口

9.5.7 接口适配验证

9.6 本章总结

第10章 桥接模式

10.1 码农心得

10.2 桥接模式介绍

10.3 多支付和多模式组合场景

10.4 违背设计模式实现

10.4.1 工程结构

10.4.2 代码实现

10.4.3 测试验证

10.5 桥接模式重构代码

10.5.1 工程结构

10.5.2 支付类型桥接抽象类

10.5.3 两种支付类型的实现

10.5.4 定义支付模式接口

10.5.5 三种支付模式风控(人脸、指纹和密码)

10.5.6 测试验证

10.6 本章总结

第11章 组合模式

11.1 码农心得

11.2 组合模式介绍

11.3 决策树场景模拟

11.4 违背设计模式实现

11.4.1 工程结构

11.4.2 代码实现

11.4.3 测试验证

11.5 组合模式重构代码

11.5.1 工程结构

11.5.2 决策树对象类

11.5.3 树节点逻辑过滤器接口

11.5.4 决策抽象类提供基础服务

11.5.5 树节点逻辑实现类

11.5.6 决策引擎接口定义

11.5.7 决策节点配置

11.5.8 基础决策引擎功能

11.5.9 决策引擎的实现

11.5.10 初始化决策树数据

11.5.11 测试验证

11.6 本章总结

第12章 装饰器模式

12.1 码农心得

12.2 装饰器模式介绍

12.3 单点登录场景模拟

12.3.1 工程结构

12.3.2 模拟Spring的HandlerInterceptor

12.3.3 模拟单点登录功能

12.4 违背设计模式实现

12.4.1 工程结构

12.4.2 代码实现

12.4.3 测试验证

12.5 装饰器模式重构代码

12.5.1 工程结构

12.5.2 抽象类装饰角色

12.5.3 装饰角色逻辑实现

12.5.4 测试验证

12.6 本章总结

第13章 外观模式

13.1 码农心得

13.2 外观模式介绍

13.3 中间件场景模拟

13.3.1 场景模拟工程

13.3.2 定义基础查询接口

13.3.3 设置Application启动类

13.4 违背设计模式实现

13.4.1 工程结构

13.4.2 代码实现

13.5 外观模式重构代码

13.5.1 工程结构

13.5.2 配置服务类

13.5.3 配置类注解定义

13.5.4 获取自定义配置类信息

13.5.5 切面注解定义

13.5.6 白名单切面逻辑

13.6 重构后工程验证

13.6.1 引入中间件POM配置

13.6.2 配置application.yml

13.6.3 在Controller中添加自定义注解

13.6.4 启动SpringBoot

13.6.5 访问接口测试

13.7 本章总结

第14章 享元模式

14.1 码农心得

14.2 享元模式介绍

14.3 缓存优化查询场景

14.4 违背设计模式实现

14.4.1 工程结构

14.4.2 代码实现

14.5 享元模式重构代码

14.5.1 工程结构

14.5.2 商品活动信息类

14.5.3 商品活动库存信息类

14.5.4 享元工厂

14.5.5 模拟Redis服务

14.5.6 活动控制类

14.5.7 测试验证

14.6 本章总结

第15章 代理模式

15.1 码农心得

15.2 代理模式介绍

15.3 MyBatis-Spring中代理类场景

15.4 代理类模式实现过程

15.4.1 工程结构

15.4.2 自定义注解

15.4.3 Dao层接口

15.4.4 代理类定义

15.4.5 将Bean定义注册到Spring容器

15.4.6 配置文件spring-config

15.4.7 测试验证

15.5 本章总结

第16章 责任链模式

16.1 码农心得

16.2 责任链模式介绍

16.3 系统上线审批场景

16.3.1 场景模拟工程

16.3.2 模拟审批服务

16.4 违背设计模式实现

16.4.1 工程结构

16.4.2 代码实现

16.4.3 测试验证

16.5 责任链模式重构代码

16.5.1 工程结构

16.5.2 责任链中返回对象定义

16.5.3 链路抽象类定义

16.5.4 三个审批实现类

16.5.5 测试验证

16.6 本章总结

第17章 命令模式

17.1 码农心得

17.2 命令模式介绍

17.3 餐厅点餐场景

17.4 违背设计模式实现

17.4.1 工程结构

17.4.2 代码实现

17.5 命令模式重构代码

17.5.1 工程结构

17.5.2 抽象命令定义(菜品接口)

17.5.3 具体命令实现(四种菜品)

17.5.4 抽象实现者定义(厨师接口)

17.5.5 实现者具体实现(四种厨师)

17.5.6 调用者(店小二)

17.5.7 测试验证

17.6 本章总结

第18章 迭代器模式

18.1 码农心得

18.2 迭代器模式介绍

18.3 组织架构树形结构遍历场景

18.4 迭代器模式遍历组织结构

18.4.1 工程结构

18.4.2 雇员实体类

18.4.3 树节点链路

18.4.4 迭代器定义

18.4.5 可迭代接口定义

18.4.6 集合功能接口定义

18.4.7 迭代器功能实现

18.4.8 测试验证

18.5 本章总结

第19章 中介者模式

19.1 码农心得

19.2 中介者模式介绍

19.3 手写ORM中间件场景

19.4 违背设计模式实现

19.4.1 工程结构

19.4.2 代码实现

19.4.3 测试结果

19.5 中介者模式开发ORM框架

19.5.1 工程结构

19.5.2 定义SqlSession接口

19.5.3 SqlSession具体实现类

19.5.4 定义SqlSessionFactory接口

19.5.5 SqlSessionFactory具体实现类

19.5.6 SqlSessionFactoryBuilder实现

19.6 ORM框架测试

19.6.1 初始化测试库表数据

19.6.2 创建数据库对象类

19.6.3 创建Dao包

19.6.4 ORM配置文件

19.6.5 单条数据查询测试验证

19.6.6 集合数据查询测试验证

19.7 本章总结

第20章 备忘录模式

20.1 码农心得

20.2 备忘录模式介绍

20.3 系统上线配置回滚场景

20.4 备忘录模式记录系统配置

20.4.1 工程结构

20.4.2 配置信息类

20.4.3 备忘录类

20.4.4 记录者类

20.4.5 管理员类

20.4.6 测试验证

20.5 本章总结

第21章 观察者模式

21.1 码农心得

21.2 观察者模式介绍

21.3 小客车摇号通知场景

21.3.1 场景模拟工程

21.3.2 摇号服务接口

21.4 违背设计模式实现

21.4.1 工程结构

21.4.2 代码实现

21.4.3 测试验证

21.5 观察者模式重构代码

21.5.1 工程结构

21.5.2 监听事件接口定义

21.5.3 两个监听事件的实现

21.5.4 事件处理类

21.5.5 业务抽象类接口

21.5.6 业务接口实现类

21.5.7 测试验证

21.6 本章总结

第22章 状态模式

22.1 码农心得

22.2 状态模式介绍

22.3 活动审批状态流转场景

22.3.1 场景模拟工程

22.3.2 基本活动信息

22.3.3 活动枚举状态

22.3.4 活动服务接口

22.4 违背设计模式实现

22.4.1 工程结构

22.4.2 代码实现

22.4.3 测试验证

22.5 状态模式重构代码

22.5.1 工程结构

22.5.2 定义状态抽象类

22.5.3 部分状态流转实现

22.5.4 状态处理服务

22.5.5 编辑中到提审活动测试验证

22.5.6 编辑中到开启活动测试验证

22.5.5 审批拒绝到活动中测试验证

22.5.6 审核拒绝到撤审测试验证

22.6 本章总结

第23章 策略模式

23.1 码农心得

23.2 策略模式介绍

23.3 各类营销优惠券场景

23.4 违背设计模式实现

23.4.1 工程结构

23.4.2 代码实现

23.5 策略模式重构代码

23.5.1 工程结构

23.5.2 优惠券接口

23.5.3 优惠券接口实现

23.5.4 编写测试类(直减优惠)

23.5.5 编写测试类(满减优惠)

23.5.6 编写测试类(折扣优惠)

23.5.7 编写测试类(N元购优惠)

23.6 本章总结

第24章 模板模式

24.1 码农心得

24.2 模板模式介绍

24.3 模拟爬虫商品生成海报信息场景

24.4 模板模式案例工程

24.4.1 工程结构

24.4.2 定义执行顺序的抽象类

24.4.3 模拟爬取京东商城商品

24.4.4 模拟爬取淘宝商品

24.4.5 模拟爬取当当商品

24.4.6 测试验证

24.5 本章总结

第25章 访问者模式

25.1 码农心得

25.2 访问者模式介绍

25.3 不同用户对学生身份访问视角场景

25.4 访问者模式案例工程

25.4.1 工程结构

25.4.2 定义用户抽象类

25.4.3 实现用户信息

25.4.4 定义访问数据接口

25.4.5 实现访问类型

25.4.6 数据看板

25.4.7 测试验证

25.5 本章总结

第26章 DDD四层架构实践

26.1 领域驱动设计介绍

26.1.1 开发目标

26.1.2 服务架构

26.1.3 应用经验

26.2 商品下单规则场景

26.3 规则树DDD四层架构

26.3.1 工程结构

26.3.2 application(应用层)

26.3.3 domain(领域层)

26.3.4 infrastructure(基础层)

26.3.5 interfaces(接口层)

26.4 测试验证

26.4.1 初始化规则树数据和启动SpringBoot

26.4.2 查询规则树信息

26.4.2 规则树行为信息决策

26.5 本章总结

第27章 RPC中间件设计开发

27.1 RPC介绍

27.1.1 为什么要有RPC

27.1.2 主流的RPC框架

27.1.3 实现RPC需要的技术

27.2 案例目标

27.3 Spring自定义配置文件

27.3.1 实现介绍

27.3.2 工程结构

27.3.3 生产者配置

27.3.4 消费者配置

27.3.5 注册中心配置

27.3.6 命名空间处理器

27.3.7 XSD资源文件配置

27.3.8 测试验证

27.4 Netty通信组件

27.4.1 实现介绍

27.4.2 工程结构

27.4.3 编码器类实现

27.4.4 解码器类实现

27.4.5 通信客户端实现

27.4.6 通信服务端实现

27.4.7 同步通信工具包

27.4.8 测试验证

27.5 RPC功能逻辑实现

27.5.1 RPC组件整体工程结构

27.5.2 RPC注册中心Redis版

27.5.3 Spring注册中心配置启动Redis和Netty

27.5.4 接口生产者注册接口

27.5.5 接口消费者选取接口

27.5.6 Socket服务端通信

27.6 RPC框架验证

27.6.1 启动Redis 注册中心

27.6.2 定义RPC接口

27.6.3 RPC接口提供者

27.6.4 RPC接口消费者

27.6.5 测试验证

27.7 本章总结

第28章 分布式领域驱动架构设计

28.1 关于需求

28.2 实践场景

28.3 架构设计

28.4 父类工程

28.4.1 工程结构

28.4.2 POM文件定义

28.4.3 错误码定义

28.5 分布式框架

28.5.1 application(应用层)

28.5.2 domain(领域层)

28.5.3 infrastructure(基础层)

28.5.4 interfaces(接口层)

28.5.5 RPC对外提供服务层

28.5.6 父类POM使用

28.5.7 Dubbo配置信息

28.5.8 数据库表初始化

28.5.9 RPC测试工程

28.5.10 测试验证

28.6 本章总结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部