失效链接处理 |
Node.js设计模式(第2版)PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
https://product.dangdang.com/11762774499.html
相关截图: 资料简介: 本书通过大量示例形象地阐述了 Node.js 的哲学思想和设计模式。内容主要由六部分组成:Node 核心思想、基础设计模式、异步控制流模式、流编程、Node.js 的传统设计模式和特有设计模式、通用编程的 Web 应用以及处理复杂实际问题的不错编程技巧。这是一本值得深入品读的书籍,读者若具备一些软件设计的理论知识会有助于理解书中提出的概念,中级 Node.js 开发者也会从本书有所收获。本书尤其适用于已经接触过 Node.js 并且想在效率、设计质量和可扩展性方面获得提升的开发者。 资料目录: 第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 xiv 目录 第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 变换流132 使用管道拼接流135 使用流处理异步流程137 顺序执行138 无序并行执行139 无序有的并行执行143 顺序并行执行145 目录xv 管道模式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 xvi 目录 扩展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 目录xvii 用于跨平台开发的设计模式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 绑定的任务322 解决子集和问题322 交叉使用setImmediate 325 使用多进程328 总结335 第10章扩展与架构模式336 应用程序扩展介绍337 扩展Node.js 应用程序337 可扩展性的三个维度337 克隆和负载均衡339 集群模块340 处理有状态通信348 使用反向代理进行扩展350 xviii 目录 使用服务注册表354 对等负载均衡360 分解复杂的应用程序362 单体式架构362 微服务架构364 微服务架构中的集成模式367 总结372 第11章消息传递与集成模式374 消息系统的基础375 单向和请求/应答模式375 消息类型376 异步消息和队列377 对等或基于代理的消息378 发布/订阅模式379 构建简约的实时聊天应用程序380 使用Redis 作为消息代理383 使用MQ 对等发布/订阅385 持久订阅者389 管道和任务分配模式396 MQ 扇出/扇入模式397 使用AMQP 实现管道和竞争消费者模式401 请求/应答模式406 关联标识符406 返回地址410 总结415 |