
本网站不提供下载链接,喜欢看书的朋友请关注公众号:【lennylee的碎碎念】(lennyleede),首页回复:授人以渔,自动获取搜索资源的方法。
内容简介:
本书完全将设计模式和实战结合,将一个完整的电商项目核心模块融入书中,同时还有Apollo配置中心、Spring状态机等核心组件代码的讲解。
本书以互联网项目核心模块为基准,将设计模式融入核心模块的开发之中,整个过程犹如一个整体项目需求,完成设计模式的融入。从第2章到第12章,依次对核心项目模块进行设计模式的融入,本书所涉及到的核心模块依次为:多种第三方账号登录;产品分类目录管理;商品查询;多种类支付;商品订单状态变化;订单完成后的业务投放及策略实时变更;开具增值税发票;商品代付;积分、平台币、红包发放;多种类日志设计;日志解析。
作者简介:
第1章 设计模式的原则与分类 / 1
1.1 本章要点 / 1
1.2 设计模式的原则 / 1
1.2.1 单一职责原则 / 1
1.2.2 接口隔离原则 / 4
1.2.3 里氏替换原则 / 6
1.2.4 依赖倒置原则 / 12
1.2.5 迪米特法则 / 13
1.2.6 开闭原则 / 16
1.3 设计模式的分类 / 19
1.3.1 创建型模式 / 19
1.3.2 结构型模式 / 19
1.3.3 行为型模式 / 20
1.4 合成复用原则 / 20
1.5 章节回顾 / 22
第2章 多种类第三方账号登录——桥接模式与适配器模式 / 23
2.1 本章要点 / 23
2.2 初始化项目实战环境 / 24
2.2.1 创建SpringBoot项目并添加pom.xml依赖 / 24
2.2.2 application.properties配置 / 26
2.2.3 初始化传统注册、登录功能 / 27
2.2.4 项目验证 / 30
2.3 实战需求发布会 / 32
2.4 适配器模式实战—UML类结构分解及方法定义 / 35
2.5 适配器模式实战—第三方账号登录 / 39
2.5.1 第三方账号的登录原理 / 40
2.5.2 代码实战 / 44
2.5.3 验证第三方账号登录功能 / 47
2.6 桥接模式实战—UML类结构分解及方法定义 / 49
2.7 桥接模式实战—第三方账号登录 / 56
2.7.1 核心代码实战 / 56
2.7.2 修复代码瑕疵 / 58
2.7.3 Client调用端代码实战 / 64
2.7.4 功能测试 / 69
2.8 章节回顾 / 69
第3章 商品类目管理——组合模式与访问者模式 / 71
3.1 本章要点 / 71
3.2 实战需求发布会 / 71
3.3 实战前的准备工作 / 74
3.3.1 项目集成Redis / 74
3.3.2 初始化商品类目信息 / 77
3.4 组合模式实战—UML类结构分解及方法定义 / 79
3.5 组合模式实战—获取商品类目 / 84
3.6 访问者模式实战—UML类结构分解及方法定义 / 87
3.7 访问者模式实战—商品类目的增加与删除功能 / 91
3.7.1 功能开发实战 / 91
3.7.2 功能测试 / 94
3.8 章节回顾 / 95
第4章 商品订单状态转化与处理——状态模式+观察者模式+命令模式 / 96
4.1 本章要点 / 96
4.2 实战需求发布会 / 98
4.3 状态模式实战—UML类结构分解及方法定义 / 99
4.4 状态模式实战—订单状态转化 / 105
4.4.1 订单状态转化 / 106
4.4.2 订单状态功能测试 / 111
4.5 观察者模式实战—UML类结构分解及方法定义 / 118
4.6 观察者模式实战—观察订单状态的变更处理 / 124
4.7 Spring状态机介绍及引入 / 128
4.8 状态模式实战—使用Spring状态机 / 130
4.8.1 枚举类及订单对象创建 / 131
4.8.2 Spring状态机配置类实战 / 133
4.9 观察者模式实战—基于Spring状态机 / 139
4.9.1 观察者类创建实战 / 139
4.9.2 测试基于Spring状态机的订单转化 / 143
4.10 命令模式实战—UML类结构分解及方法定义 / 147
4.11 命令模式实战—订单转化相关扩展操作 / 151
4.12 章节回顾 / 153
第5章 多种类第三方支付——策略模式+门面模式+工厂模式+享元模式 / 154
5.1 本章要点 / 154
5.2 实战需求发布会 / 155
5.3 策略模式实战—UML类结构分解及方法定义 / 157
5.4 策略模式实战—多种类第三方支付 / 160
5.4.1 第三方支付原理 / 160
5.4.2 第三方支付接入流程 / 162
5.4.3 支付宝支付实战 / 169
5.5 门面模式实战—UML类结构分解及方法定义 / 174
5.6 门面模式实战—调用支付策略 / 175
5.7 工厂模式实战—UML类结构分解及方法定义 / 177
5.8 工厂模式实战—策略工厂 / 180
5.9 测试多种类第三方支付 / 184
5.10 享元模式实战 / 188
5.10.1 隐藏的享元模式 / 188
5.10.2 享元模式的定义及UML类图分解 / 189
5.10.3 Spring IOC对享元模式的应用 / 191
5.11 章节回顾 / 193
第6章 业务投放——责任链模式 / 194
6.1 本章要点 / 194
6.2 实战需求发布会 / 195
6.3 安装Apollo配置中心及相关数据准备 / 197
6.3.1 Apollo配置中心介绍 / 197
6.3.2 Windows环境部署Apollo配置中心 / 199
6.3.3 准备业务投放数据和用户数据 / 205
6.4 责任链模式实战—UML类结构分解及方法定义 / 208
6.5 责任链模式实战—业务投放 / 211
6.5.1 项目集成Apollo / 211
6.5.2 业务投放实战 / 212
6.5.3 业务投放测试 / 218
6.6 章节回顾 / 219
第7章 平台积分更新及红包发放——装饰器模式 / 220
7.1 本章要点 / 220
7.2 实战需求发布会(三层服务降级策略) / 220
7.3 项目集成RabbitMq—服务降级之延迟服务 / 222
7.3.1 延迟队列的实现方式 / 222
7.3.2 RabbitMq的安装与队列配置 / 224
7.3.3 SpringBoot集成RabbitMq / 227
7.4 装饰器模式实战—UML类结构分解及方法定义 / 228
7.5 装饰器模式实战—积分更新及红包发放 / 235
7.5.1 Apollo配置添加和测试数据准备 / 235
7.5.2 三层服务降级—积分更新及红包发放实战 / 238
7.6 章节回顾 / 241
第8章 开具电子发票——建造者模式+原型模式+代理模式 / 242
8.1 本章要点 / 242
8.2 实战需求发布会 / 243
8.3 建造者模式实战—UML类结构分解及方法定义 / 244
8.4 建造者模式实战—开具电子发票 / 250
8.5 原型模式实战 / 252
8.5.1 原型模式实战—UML类结构分解及方法定义 / 252
8.5.2 引用拷贝、深拷贝与浅拷贝 / 255
8.6 代理模式实战 / 261
8.6.1 代理模式实战—UML类结构分解及方法定义 / 261
8.6.2 JDK动态代理和CGLIB动态代理 / 263
8.7 开具电子发票需求测试 / 268
8.8 章节回顾 / 269
第9章 朋友代付——中介者模式 / 270
9.1 本章要点 / 270
9.2 实战需求发布会 / 271
9.3 中介者模式实战—UML类结构分解及方法定义 / 272
9.4 中介者模式实战—朋友代付 / 277
9.4.1 朋友代付实战 / 277
9.4.2 全局唯一中介者 / 279
9.5 章节回顾 / 282
第10章 订单审计日志设计——模板方法模式 / 283
10.1 本章要点 / 283
10.2 实战需求发布会 / 283
10.3 模板方法模式实战—UML类结构分解及方法定义 / 284
10.4 模板方法模式实战—订单审计日志 / 289
10.5 章节回顾 / 290
第11章 ES日志查询——迭代器模式 / 291
11.1 本章要点 / 291
11.2 实战需求发布会 / 292
11.3 Elastic Search SQL Rest API机制介绍 / 293
11.4 ES Mock Server / 296
11.5 迭代器模式实战 / 298
11.5.1 UML类结构分解、方法定义及ES查询实战 / 298
11.5.2 实战测试 / 302
11.6 章节回顾 / 304
第12章 结语 / 305
· · · · · · (收起)
原文摘录: