《Node.js设计模式 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:马里奥卡西罗著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121335228
  • 页数:414 页
图书介绍:本书通过大量示例形象地阐述了Node.js 的哲学思想和设计模式。内容主要由六部分组成:Node 核心思想、基础设计模式、异步控制流模式、流编程、Node.js 的传统设计模式和特有设计模式、通用编程的Web 应用以及处理复杂实际问题的高级编程技巧。这是一本值得深入品读的书籍,读者若具备一些软件设计的理论知识会有助于理解书中提出的概念

第1章 欢迎来到Node.js平台 1

Node.js的哲学思想 2

小核心 2

小模块 2

小接触面 3

简单和实用 3

认识Node.js 6和ES2015 4

let和const关键字 5

箭头函数 6

类语法 8

增强的对象字面量 10

Map和Set集合 11

WeakMap和WeakSet集合 13

模板字面量 14

其他ES2015特性 14

Reactor模式 15

I/O是缓慢的 15

阻塞I/O 15

非阻塞I/O 16

事件多路分解器 17

Reactor模式简介 19

Node.js-libuv的非阻塞I/O引擎 20

Node.js的秘诀 21

总结 21

第2章 Node.js基础设计模式 23

回调模式 24

CPS(Continuation Passing Style) 24

同步或异步 26

Node.js回调约定 31

模块系统及其模式 34

揭示模块模式 34

Node.js模块解释 35

模块定义模式 42

观察者模式 49

EventEmitter类 49

创建和使用EventEmitter 50

传播错误 51

使任何对象可观察 51

同步和异步事件 53

EventEmitter与回调 54

组合回调和EventEmitter 55

总结 55

第3章 异步控制流模式之回调函数 56

异步编程的困难 56

创建一个简单的网络蜘蛛 57

回调地狱 59

使用纯JavaScript 60

回调规则 60

应用回调规则 61

顺序执行 63

并行执行 68

有限制的并行执行 73

async库 77

顺序执行 78

并行执行 81

有限制的并行执行 81

总结 83

第4章 异步控制流模式之ES2015+ 84

promise 84

什么是promise 85

Promises/A+实现 87

Node.js风格函数的promise化 88

顺序执行 90

并行执行 93

有限制的并行执行 93

在公共API中暴露callback和promise 95

generator 97

generator基础 97

generator的异步控制流 100

顺序执行 104

并行执行 106

有限制的并行执行 108

使用Babel的async await 111

安装和运行Babel 112

比较 113

总结 114

第5章 流编程 115

流的重要性 115

缓冲和流 116

空间效率 117

时间效率 118

组合性 121

开始学习流 122

流的分类 122

可读流 123

可写流 127

双向流(Duplex stream)132(Duplex stream)变换流 132

使用管道拼接流 135

使用流处理异步流程 137

顺序执行 138

无序并行执行 139

无序有限制的并行执行 143

管道模式 146

组合流 146

复制流 149

合并流 150

复用和分解 152

总结 159

第6章 设计模式 160

工厂模式 161

创建对象的通用接口 161

一种封装的机制 162

构建一个简单的代码分析器 164

可组合的工厂函数 166

扩展 169

揭示构造函数 170

只读事件触发器 171

扩展 172

代理模式 173

实现代理模式的方法 174

不同方法的比较 176

创建日志记录的写入流 176

生态系统中的代理模式——函数钩子与面向行为编程(AOP) 178

ES2015中的Proxy对象 178

扩展 180

装饰者模式(Decorator) 180

实现装饰者模式的方法 181

装饰一个LevelUP数据库 182

扩展 185

适配器模式(Adapter) 185

通过文件系统API来使用LevelUP数据库 186

扩展 189

策略模式(Strategy) 189

支持多种格式的配置对象 190

扩展 193

状态模式 193

实现一个基本的自动防故障套接字 194

模板模式(Template) 199

配置管理器模板 199

扩展 201

中间件(Middleware) 202

Express中的中间件 202

设计模式中的中间件 203

为?MQ创建中间件框架 204

在Koa中使用生成器的中间件 210

命令模式(Command) 213

灵活的设计模式 214

总结 218

第7章 连接模块 220

模块和依赖 221

Node.js中最常见的依赖 221

内聚和耦合 222

有状态的模块 222

连接模块模式 224

硬编码依赖 224

依赖注入 229

服务定位器 234

依赖注入容器 239

连接插件 243

插件作为包 243

扩展点 245

插件控制与应用程序控制的扩展 245

实现注销插件 248

总结 256

第8章 通用JavaScript的Web应用程序 257

与浏览器端共享代码 258

共享模块 258

Webpack简介 262

Webpack的魔力 263

Webpack的优点 264

使用ES2015和Webpack 265

跨平台开发基础 267

运行时代码分支 268

构建时代码分支 269

模块交换 271

用于跨平台开发的设计模式 273

React介绍 274

第一个React组件 275

JSX是什么 277

配置Webpack以实现JSX转换 279

在浏览器中渲染 280

React路由库 281

创建通用JavaScript应用程序 286

创建可用的组件 287

服务端渲染 289

通用渲染和路由 293

通用数据检索 294

总结 304

第9章 高级异步编程技巧 305

需要异步初始化的模块 305

规范解决方案 306

预初始化队列 307

题外话 311

异步批处理和缓存 312

实现没有缓存或批处理的服务器 312

异步请求批处理 314

异步请求缓存 316

使用promise进行批处理和缓存 319

运行CPU绑定的任务 321

解决子集和问题 321

交叉使用setImmediate 324

使用多进程 327

总结 334

第10章 扩展与架构模式 335

应用程序扩展介绍 336

扩展Node.js应用程序 336

可扩展性的三个维度 336

克隆和负载均衡 338

集群模块 339

处理有状态通信 347

使用反向代理进行扩展 349

使用服务注册表 353

对等负载均衡 359

分解复杂的应用程序 361

单体式架构 361

微服务架构 363

微服务架构中的集成模式 366

总结 371

第11章 消息传递与集成模式 373

消息、系统的基础 374

单向和请求/应答模式 374

消息类型 375

异步消息和队列 376

对等或基于代理的消息 377

发布/订阅模式 378

构建简约的实时聊天应用程序 379

使用Redis作为消息代理 382

使用?MQ对等发布/订阅 384

持久订阅者 388

管道和任务分配模式 395

?MQ扇出/扇入模式 396

使用AMQP实现管道和竞争消费者模式 400

请求/应答模式 405

关联标识符 405

返回地址 409

总结 414