设计模式就该这样学 基于经典框架源码和真实业务场景+全栈技能修炼 使用Angular和Spdf下载

设计模式就该这样学百度网盘pdf下载

作者:
简介:设计模式就该这样学 基于经典框架源码和真实业务场景+全栈技能修炼 使用Angular和S
出版社:
出版时间:
pdf下载价格:9.00¥


预览


内容介绍





9787121392085 9787121371837


设计模式就该这样学
定价:118.00元

出版社: 电子工业出版社

ISBN:9787121392085

版次:1

定价:118

出版时间:2020-07-01

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

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


1篇  软件设计前奏篇

1章  重新认识UML2

1.1  UML的定义2

1.2  UML应用场景2

1.3  UML基本构件简介3

1.3.1  事物3

1.3.2  关系5

1.3.3  图6

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

2.1  类图7

2.1.1  继承关系8

2.1.2  实现关系8

2.1.3  组合关系9

2.1.4  聚合关系10

2.1.5  关联关系11

2.1.6  依赖关系12

2.1.7  类关系记忆技巧14

2.2  时序图15

2.2.1  时序图的作用15

2.2.2  时序图组成元素16

2.2.3  时序图组合片段17

2.2.4  时序图画法及应用实践19

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

3.1  开闭原则22

3.1.1  开闭原则的定义22

3.1.2  使用开闭原则解决实际问题23

3.2  依赖倒置原则24

3.2.1  依赖倒置原则的定义24

3.2.2  使用依赖倒置原则解决实际问题25

3.3  单一职责原则28

3.3.1  单一职责原则的定义28

3.3.2  使用单一职责原则解决实际问题28

3.4  接口隔离原则31

3.4.1  接口隔离原则的定义31

3.4.2  使用接口隔离原则解决实际问题31

3.5  迪米特法则33

3.5.1  迪米特法则的定义33

3.5.2  使用迪米特法则解决实际问题33

3.6  里氏替换原则35

3.6.1  里氏替换原则的定义35

3.6.2  使用里氏替换原则解决实际问题36

3.7  合成复用原则40

3.7.1  合成复用原则的定义40

3.7.2  使用合成复用原则解决实际问题40

3.8  软件架构设计原则小结42

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

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

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

4.2.1  写出优雅的代码45

4.2.2  更好地重构项目47

4.2.3  经典框架都在用设计模式解决问题58

2篇  创建型设计模式

5章  简单工厂模式60

5.1  工厂模式的历史由来60

5.2  简单工厂模式概述61

5.2.1  简单工厂模式的定义61

5.2.2  简单工厂模式的应用场景61

5.2.3  简单工厂模式的UML类图61

5.2.4  简单工厂模式的通用写法62

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

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

5.4.1  简单工厂模式在JDK源码中的应用66

5.4.2  简单工厂模式在Logback源码中的应用67

5.5  简单工厂模式扩展67

5.5.1  简单工厂模式的优点67

5.5.2  简单工厂模式的缺点67

6章  工厂方法模式68

6.1  工厂方法模式概述68

6.1.1  工厂方法模式的定义68

6.1.2  工厂方法模式的应用场景69

6.1.3  工厂方法模式的UML类图69

6.1.4  工厂方法模式的通用写法70

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

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

6.4  工厂方法模式扩展73

6.4.1  工厂方法模式的优点73

6.4.2  工厂方法模式的缺点73



7章  抽象工厂模式74

7.1  抽象工厂模式概述74

7.1.1  抽象工厂模式的定义74

7.1.2  关于产品等级结构和产品族75

7.1.3  抽象工厂模式的应用场景76

7.1.4  抽象工厂模式的UML类图76

7.1.5  抽象工厂模式的通用写法76

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

7.2.1  使用抽象工厂模式支持产品扩展78

7.2.2  使用抽象工厂模式重构数据库连接池81

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

7.4  抽象工厂模式扩展89

7.4.1  抽象工厂模式的优点89

7.4.2  抽象工厂模式的缺点90

8章  单例模式91

8.1  单例模式概述91

8.1.1  单例模式的定义91

8.1.2  单例模式的应用场景91

8.1.3  单例模式的UML类图92

8.1.4  单例模式的通用写法92

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

8.2.1  饿汉式单例写法的弊端93

8.2.2  还原线程破坏单例的事故现场93

8.2.3  双重检查锁单例写法闪亮登场97

8.2.4  看似的静态内部类单例写法100

8.2.5  还原反破坏单例模式的事故现场101

8.2.6  更加优雅的枚举式单例写法问世103

8.2.7  还原反序列化破坏单例模式的事故现场108

8.2.8  使用容器式单例写法解决大规模生产单例的问题114


ISBN编号: 9787121371837

书名: 全栈技能修炼:使用Angular和Spring boot打造全栈应用

作者: 无

出版时间: 2019年9月

定价: 109.00元

书名: 全栈技能修炼:使用Angular和Spring boot打造全栈应用

开本: 16开

是否是套装: 否

出版社名称: 电子工业出版社




内容简介 山.png

本书涉及很多平台、框架和类库等,主要有前端使用的Angular,后端使用的Spring Boot框架、Spring Security安全框架,数据库涉及MongoDB、Elasticsearch和Redis。此外,还会学习函数式编程、响应式编程(RJS)、Redu等理念,Swagger、JaVers等工具及Rest、WebSocket、微服务等概念。一本书是无法深入这些技术细节的,这也不是本书的目标。希望通过本书,可以帮助读者开启一扇门,真正掌握这些让人眼花缭乱的编程语言、框架、平台、IDE等技术背后的编程思想。


目录 山.png

1章 技术的选型和环境搭建 1
1.1 技术选型 1
1.1.1 前端框架选型 2
1.1.2 后端框架选型 3
1.1.3 数据库选型 3
1.2 环境搭建 5
1.2.1 基础开发环境安装 5
1.2.2 IDE 的选择 7
1.2.3 字体的选择 8
1.2.4 定义通用的代码格式 9
1.3 工程项目的结构 10
1.3.1 前端项目 10
1.3.2 后端项目 13
1.3.3 整体项目工程的文件结构 14
2章 使用Angular快速构造前端原型 17
2.1 Angular 基础概念 17
2.1.1 安装 Angular CLI 17
2.1.2 依赖性注入 22
2.1.3 组件 27
2.1.4 指令 28
2.1.5 管道 30
2.1.6 模块 31
2.1.7 模板驱动型表单 33
2.1.8 响应式表单 46
2.2 Angular Material 介绍 55
2.2.1 组件类别 55
2.2.2 布局控件:Sidenav 57
2.2.3 Fle 布局和 Angular Fle-layout 60
2.2.4 封装 Header/Footer/Sidebar 62
2.3 添加主题支持 78
2.3.1 Material Design 中对于主题的约束 79
2.3.2 主题的明与暗 79
2.3.3 Angular Material 中的主题 80
2.4 容器化 Angular 应用 83
2.4.1 什么是容器 83
2.4.2 安装 Docker 84
2.4.3 镜像仓库加速 85
2.4.4 创建 Angular 的 Docker 镜像 85
2.4.5 启动容器 87
2.4.6 使用 docker-compose 组织复杂的环境配置 88
2.4.7 使用 .dockerigre 文件 91
3章 何谓后端 92
3.1 创建一个 Spring Boot 工程 93
3.1.1 通过 Gradle 创建 93
3.1.2 通过 Maven 创建 99
3.1.3 通过 IDE 创建 103
3.1.4 工程项目的组织 105
3.2 API 的构建可以如此简单 109
3.2.1 API 工程结构 109
3.2.2 领域对象 111
3.2.3 构造 Controller 112
3.2.4 启动服务 113
3.2.5 测试 API 115
3.3 MongoDB 支撑的 API 116
3.3.1 什么是 SQL 116
3.3.2 MongoDB 的集成 119
3.3.3 HATEOAS 124
3.3.4 “魔法”的背后 129
3.3.5 让后端也能热更新 132
3.4 容器化后端 135
3.4.1 手动创建镜像 135
3.4.2 使用 Gradle 自动化 Docker 任务 137
3.4.3 使用 docker-compose 组合服务 141
3.4.4 IDEA 中的 Gradle 支持 142
3.4.5 在容器中调试 143
4章 登录鉴权功能的构建 145
4.1 模块化和组件化 145
4.1.1 登录的领域模型构建 145
4.1.2 前端页面设计 147
4.2 响应式编程初探 166
4.2.1 不同的视角 166
4.2.2 实现一个计数器 169
4.2.3 为什么要使用 R 177
4.2.4 Observable 的性质 178
4.2.5 RJS 的调试 180
4.3 前端服务层 184
4.3.1 构建“伪”服务 184
4.3.2 构建“聪明组件” 188
4.3.3 路由处理 192
4.4 完成忘记密码前端设计 194
4.4.1 使用 RJS 打造短信验证码控件 194
4.4.2 忘记密码向导“笨组件” 199
4.4.3 忘记密码的“聪明组件” 203

5章 构建后端API 205
5.1 HyperMedia API 与传统 API 205
5.1.1 领域对象 205
5.1.2 API的可见控制 211
5.1.3 传统的 API 实现模式 218
5.2 Spring Data 中的查询 221
5.2.1 基础概念——Repository 221
5.2.2 查询方式 223
5.2.3 复杂类型查询 226
5.2.4 自定义查询 228
5.2.5 自定义 Repository 229
5.3 Controller 的构建 230
5.3.1 改造 TaskRepo 和 UserRepo 230
5.3.2 实现 Controller 231
5.3.3 登录 234
5.3.4 注册 235
5.3.5 忘记密码**步:验证手机 236
5.3.6 忘记密码二步:重置密码 244
5.3.7 API 的异常处理 246
5.4 构建安全的 API 接口 255
5.4.1 为什么要保护 API 256
5.4.2 什么是JWT 256
5.4.3 JWT的生成和解析 259
5.4.4 权限的设计 260
5.4.5 使用 Spring Security 规划角色安全 261
5.4.6 在 Spring Boot 中启用 Spring Security 265
5.4.7 改造用户对象 266
5.4.8 构建 JWT token 工具类 268
5.4.9 如何检查任何请求的授权信息 272
5.4.10 得到用户信息 275
5.4.11 配置 Spring Security 277
5.4.12 使用 JWT 进行 API 访问 292
5.5 跨域和 API 文档 305
5.5.1 跨域解决方案——CORS 305
5.5.2 API 文档 309
6章 前端和API的配合 322
6.1 响应式的 HTTP API 处理 322
6.1.1 Angular 中的 HTTP 服务 322
6.1.2 Angular 的开发环境配置 323
6.1.3 在前端服务中使用 HttpClient 327
6.1.4 更改注册表单控件 331
6.2 RJs进阶 332
6.2.1 改造登录表单 332
6.2.2 RJs的高阶作符 333
6.2.3 合并作符 339
6.3 HTTP 拦截 342
6.3.1 实现一个简单的 HttpInterceptor 342
6.3.2 鉴权HttpInterceptor 343
6.3.3 一个日志拦截器 345
6.4 Angular 路由 346
6.4.1 基准锚链接 346
6.4.2 Router 模块的简介 347
6.4.3 获取父路由的参数 354
6.4.4 获得前一个路由 354
6.4.5 Activated Route 354
6.5 安全守卫 355
6.5.1 激活守卫 356
6.5.2 激活子路由守卫 357
6.5.3 加载守卫 358
6.5.4 出守卫 359
6.5.5 数据预获取守卫 359
7章 后端不只是API 361
7.1 缓存 361
7.1.1 配置 Cache 362
7.1.2 常用的缓存注解 364
7.1.3 测试缓存是否生效 366
7.2 Redis 作为缓存框架 368
7.2.1 Redis 的安装配置 369
7.2.2 在 Spring Boot 中集成 Redis 370
7.2.3 Redisson 373
7.3 使用 ElasticSearch 提升搜索性能 375
7.3.1 配置 375
7.3.2 构建用户查询 API 379
7.4 Spring Boot Actuator 和数据审计 390
7.4.1 初窥审计事件 390
7.4.2 实现应用的数据审计 394
7.4.3 JaVers 和 Spring Boot 集成 396
7.5 WebSocket 实时通信服务 401
7.5.1 HTTP 和 WebSocket 的区别和联系 402
7.5.2 何时使用 WebSocket 403
7.5.3 STOMP 403
7.5.4 WebSocket 配置 404
7.5.5 WebScoket 安全 406
7.5.6 建立一个实时消息 Controller 409
7.5.7 测试 WebSocket 409
7.6 Spring Boot 的自动化测试 411
8章 前端的工程化 422
8.1 使用 Redu 管理状态 423
8.1.1 何时需要使用 Redu 423
8.1.2 Redu 的核心概念 424
8.1.3 在 Angular 中使用 Redu 429
8.1.4 Selector——状态选择器 434
8.2 使用 Effects管理的副作用 437
8.3 使用 @ngr/entity 提升生产效率 441
8.4 服务端渲染 446
8.4.1 Angular Universal 的工作机理 447
8.4.2 安装依赖 447
8.4.3 添加服务器端渲染模块 448
8.4.4 使用 de.js Epress 构建服务器 450
8.4.5 服务器端渲染中出现重复请求的处理 453
9章 Spring Cloud打造微服务 455
9.1 微服务的体系架构 455
9.1.1 服务即组件 456
9.1.2 微服务架构下的组织机构变化 456
9.1.3 产品化服务 458
9.1.4 持续集成和持续发布 458
9.1.5 监控和报警 458
9.1.6 Spring Cloud 项目依赖 459
9.2 配置服务和发现服务 461
9.2.1 配置中心是什么 461
9.2.2 发现服务 465
9.3 监控服务和路由服务 472
9.3.1 Spring Boot Admin 473
9.3.2 路由服务 478
9.4 微服务的远程调用 485
9.4.1 Feign Client 485
9.4.2 负载均衡 490
附录A 常见云服务使用问题汇总 492
............


暂时没有内容介绍,请见谅!
暂时没有目录,请见谅!