图书介绍
JavaScript设计模式与开发实践PDF|Epub|txt|kindle电子书版本网盘下载
![JavaScript设计模式与开发实践](https://www.shukui.net/cover/5/34414234.jpg)
- 曾探著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115388889
- 出版时间:2015
- 标注页数:294页
- 文件大小:26MB
- 文件页数:312页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
JavaScript设计模式与开发实践PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基础知识2
1 面向对象的JavaScript2
1.1 动态类型语言和鸭子类型2
1.2 多态4
1.3 封装12
1.4 原型模式和基于原型继承的JavaScript对象系统14
2 this、call和apply24
2.1 this24
2.2 call和apply29
3 闭包和高阶函数35
3.1 闭包35
3.2 高阶函数44
3.3 小结58
第二部分 设计模式60
4 单例模式60
4.1 实现单例模式60
4.2 透明的单例模式61
4.3 用代理实现单例模式62
4.4 JavaScript中的单例模式63
4.5 惰性单例65
4.6 通用的惰性单例68
4.7 小结70
5 策略模式72
5.1 使用策略模式计算奖金72
5.2 JavaScript版本的策略模式75
5.3 多态在策略模式中的体现76
5.4 使用策略模式实现缓动动画76
5.5 更广义的“算法”80
5.6 表单校验80
5.7 策略模式的优缺点86
5.8 一等函数对象与策略模式86
5.9 小结87
6 代理模式88
6.1 第一个例子——小明追MM的故事88
6.2 保护代理和虚拟代理91
6.3 虚拟代理实现图片预加载91
6.4 代理的意义93
6.5 代理和本体接口的一致性94
6.6 虚拟代理合并HTTP请求95
6.7 虚拟代理在惰性加载中的应用97
6.8 缓存代理99
6.9 用高阶函数动态创建代理100
6.10 其他代理模式101
6.11 小结102
7 迭代器模式103
7.1 jQuery中的迭代器103
7.2 实现自己的迭代器104
7.3 内部迭代器和外部迭代器104
7.4 迭代类数组对象和字面量对象106
7.5 倒序迭代器106
7.6 中止迭代器107
7.7 迭代器模式的应用举例107
7.8 小结109
8 发布-订阅模式110
8.1 现实中的发布-订阅模式110
8.2 发布-订阅模式的作用110
8.3 DOM事件111
8.4 自定义事件112
8.5 发布-订阅模式的通用实现113
8.6 取消订阅的事件115
8.7 真实的例子——网站登录115
8.8 全局的发布-订阅对象117
8.9 模块间通信119
8.10 必须先订阅再发布吗120
8.11 全局事件的命名冲突121
8.12 JavaScript实现发布-订阅模式的便利性124
8.13 小结124
9 命令模式125
9.1 命令模式的用途125
9.2 命令模式的例子——菜单程序126
9.3 JavaScript中的命令模式128
9.4 撤销命令130
9.5 撤消和重做132
9.6 命令队列134
9.7 宏命令134
9.8 智能命令与傻瓜命令135
9.9 小结136
10 组合模式138
10.1 回顾宏命令138
10.2 组合模式的用途139
10.3 请求在树中传递的过程139
10.4 更强大的宏命令140
10.5 抽象类在组合模式中的作用143
10.6 透明性带来的安全问题144
10.7 组合模式的例子——扫描文件夹145
10.8 一些值得注意的地方147
10.9 引用父对象148
10.10 何时使用组合模式150
10.11 小结150
11 模板方法模式151
11.1 模板方法模式的定义和组成151
11.2 第一个例子——Coffee or Tea151
11.3 抽象类156
11.4 模板方法模式的使用场景159
11.5 钩子方法160
11.6 好莱坞原则162
11.7 真的需要“继承”吗162
11.8 小结164
12 享元模式165
12.1 初识享元模式165
12.2 内部状态与外部状态166
12.3 享元模式的通用结构167
12.4 文件上传的例子167
12.5 享元模式的适用性173
12.6 再谈内部状态和外部状态173
12.7 对象池175
12.8 小结178
13 职责链模式179
13.1 现实中的职责链模式179
13.2 实际开发中的职责链模式180
13.3 用职责链模式重构代码181
13.4 灵活可拆分的职责链节点183
13.5 异步的职责链184
13.6 职责链模式的优缺点185
13.7 用AOP实现职责链186
13.8 用职责链模式获取文件上传对象187
13.9 小结188
14 中介者模式190
14.1 现实中的中介者190
14.2 中介者模式的例子——泡泡堂游戏191
14.3 中介者模式的例子——购买商品199
14.4 小结207
15 装饰者模式210
15.1 模拟传统面向对象语言的装饰者模式210
15.2 装饰者也是包装器211
15.3 回到JavaScript的装饰者212
15.4 装饰函数212
15.5 用AOP装饰函数214
15.6 AOP的应用实例216
15.7 装饰者模式和代理模式222
15.8 小结223
16 状态模式224
16.1 初识状态模式224
16.2 状态模式的定义230
16.3 状态模式的通用结构230
16.4 缺少抽象类的变通方式231
16.5 另一个状态模式示例——文件上传232
16.6 状态模式的优缺点241
16.7 状态模式中的性能优化点241
16.8 状态模式和策略模式的关系241
16.9 JavaScript版本的状态机242
16.10 表驱动的有限状态机244
16.11 实际项目中的其他状态机245
16.12 小结245
17 适配器模式246
17.1 现实中的适配器246
17.2 适配器模式的应用247
17.3 小结250
第三部分 设计原则和编程技巧252
18 单一职责原则252
18.1 设计模式中的SRP原则252
18.2 何时应该分离职责256
18.3 违反SRP原则256
18.4 SRP原则的优缺点257
19 最少知识原则258
19.1 减少对象之间的联系258
19.2 设计模式中的LKP原则259
19.3 封装在LKP原则中的体现261
20 开放一封闭原则263
20.1 扩展window.onload函数263
20.2 开放和封闭264
20.3 用对象的多态性消除条件分支265
20.4 找出变化的地方266
20.5 设计模式中的开放-封闭原则268
20.6 开放-封闭原则的相对性270
20.7 接受第一次愚弄270
21 接口和面向接口编程271
21.1 回到Java的抽象类271
21.2 interface274
21.3 JavaScript语言是否需要抽象类和interface275
21.4 用鸭子类型进行接口检查277
21.5 用TypeScript编写基于interface的命令模式278
22 代码重构282
22.1 提炼函数282
22.2 合并重复的条件片段283
22.3 把条件分支语句提炼成函数284
22.4 合理使用循环285
22.5 提前让函数退出代替嵌套条件分支285
22.6 传递对象参数代替过长的参数列表286
22.7 尽量减少参数数量287
22.8 少用三目运算符288
22.9 合理使用链式调用288
22.10 分解大型类289
22.11 用return退出多重循环290
参考文献293