[图灵原创].JavaScript设计模式与开发实践[PDF][8.12MB]
内容简介
《JavaScript设计模式与开发实践》在尊重《设计模式》原意的同时,针对JavaScript语言特性全面介绍了更适合JavaScript程序员的了16个常用的设计模式,讲解了JavaScript面向对象和函数式编程方面的基础知识,介绍了面向对象的设计原则及其在设计模式中的体现,还分享了面向对象编程技巧和日常开发中的代码重构。本书将教会你如何把经典的设计模式应用到JavaScript语言中,编写出优美高效、结构化和可维护的代码。
目录
第一部分基础知识
第1章 面向对象的JavaScript
1.1动态类型语言和鸭子类型
1.2多态
1.3封装
1.4原型模式和基于原型继承的JavaScript对象系统
第2章 this、call和apply
2.1this
2.2call和apply
第3章 闭包和高阶函数
3.1闭包
3.2高阶函数
3.3小结
第二部分设计模式
第4章 单例模式
4.1实现单例模式
4.2透明的单例模式
4.3用代理实现单例模式
4.4JavaScript中的单例模式
4.5惰性单例
4.6通用的惰性单例
4.7小结
第5章 策略模式
5.1使用策略模式计算奖金
5.2JavaScript版本的策略模式
5.3多态在策略模式中的体现
5.4使用策略模式实现缓动动画
5.5更广义的“算法”
5.6表单校验
5.7策略模式的优缺点
5.8一等函数对象与策略模式
5.9小结
第6章 代理模式
6.1第一个例子——小明追MM的故事
6.2保护代理和虚拟代理
6.3虚拟代理实现图片预加载
6.4代理的意义
6.5代理和本体接口的一致性
6.6虚拟代理合并HTTP请求
6.7虚拟代理在惰性加载中的应用
6.8缓存代理
6.9用高阶函数动态创建代理
6.10其他代理模式
6.11小结
第7章 迭代器模式
7.1jQuery中的迭代器
7.2实现自己的迭代器
7.3内部迭代器和外部迭代器
7.4迭代类数组对象和字面量对象
7.5倒序迭代器
7.6中止迭代器
7.7迭代器模式的应用举例
7.8小结
第8章 发布—订阅模式
8.1现实中的发布—订阅模式
8.2发布—订阅模式的作用
8.3DOM事件
8.4自定义事件
8.5发布—订阅模式的通用实现
8.6取消订阅的事件
8.7真实的例子——网站登录
8.8全局的发布—订阅对象
8.9模块间通信
8.10必须先订阅再发布吗
8.11全局事件的命名冲突
8.12JavaScript实现发布—订阅模式的便利性
8.13小结
第9章 命令模式
9.1命令模式的用途
9.2命令模式的例子——菜单程序
9.3JavaScript中的命令模式
9.4撤销命令
9.5撤消和重做
9.6命令队列
9.7宏命令
9.8智能命令与傻瓜命令
9.9小结
第10章 组合模式
10.1回顾宏命令
10.2组合模式的用途
10.3请求在树中传递的过程
10.4更强大的宏命令
10.5抽象类在组合模式中的作用
10.6透明性带来的安全问题
10.7组合模式的例子——扫描文件夹
10.8一些值得注意的地方
10.9引用父对象
10.10何时使用组合模式
10.11小结
第11章 模板方法模式
11.1模板方法模式的定义和组成
11.2第一个例子——CoffeeorTea
11.3抽象类
11.4模板方法模式的使用场景
11.5钩子方法
11.6好莱坞原则
11.7真的需要“继承”吗
11.8小结
第12章 享元模式
12.1初识享元模式
12.2内部状态与外部状态
12.3享元模式的通用结构
12.4文件上传的例子
12.5享元模式的适用性
12.6再谈内部状态和外部状态
12.7对象池
12.8小结
第13章 职责链模式
13.1现实中的职责链模式
13.2实际开发中的职责链模式
13.3用职责链模式重构代码
13.4灵活可拆分的职责链节点
13.5异步的职责链
13.6职责链模式的优缺点
13.7用AOP实现职责链
13.8用职责链模式获取文件上传对象
13.9小结
第14章 中介者模式
14.1现实中的中介者
14.2中介者模式的例子——泡泡堂游戏
14.3中介者模式的例子——购买商品
14.4小结
第15章 装饰者模式
15.1模拟传统面向对象语言的装饰者模式
15.2装饰者也是包装器
15.3回到JavaScript的装饰者
15.4装饰函数
15.5用AOP装饰函数
15.6AOP的应用实例
15.7装饰者模式和代理模式
15.8小结
第16章 状态模式
16.1初识状态模式
16.2状态模式的定义
16.3状态模式的通用结构
16.4缺少抽象类的变通方式
16.5另一个状态模式示例——文件上传
16.6状态模式的优缺点
16.7状态模式中的性能优化点
16.8状态模式和策略模式的关系
16.9JavaScript版本的状态机
16.10表驱动的有限状态机
16.11实际项目中的其他状态机
16.12小结
第17章 适配器模式
17.1现实中的适配器
17.2适配器模式的应用
17.3小结
第三部分设计原则和编程技巧
第18章 单一职责原则
18.1设计模式中的SRP原则
18.2何时应该分离职责
18.3违反SRP原则
18.4SRP原则的优缺点
第19章 最少知识原则
19.1减少对象之间的联系
19.2设计模式中的LKP原则
19.3封装在LKP原则中的体现
第20章 开放-封闭原则
20.1扩展window.onload函数
20.2开放和封闭
20.3用对象的多态性消除条件分支
20.4找出变化的地方
20.5设计模式中的开放—封闭原则
20.6开放—封闭原则的相对性
20.7接受第一次愚弄
第21章 接口和面向接口编程
21.1回到Java的抽象类
21.2interface
21.3JavaScript语言是否需要抽象类和interface
21.4用鸭子类型进行接口检查
21.5用TypeScript编写基于interface的命令模式
第22章 代码重构
22.1提炼函数
22.2合并重复的条件片段
22.3把条件分支语句提炼成函数
22.4合理使用循环
22.5提前让函数退出代替嵌套条件分支
22.6传递对象参数代替过长的参数列表
22.7尽量减少参数数量
22.8少用三目运算符
22.9合理使用链式调用
22.10分解大型类
22.11用return退出多重循环
参考文献
文档截图
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1尚硅谷前端学科全套视频[AVI][130.72GB]
- 2深入理解php:高级技巧、面向对象与核心技术(原书第3版) 【PDF】
- 3开发高质量PHP框架与应用的实际案例解析【PDF】
- 4响应式Web图形设计 ([美]Christopher Schmitt) 中文【PDF】
- 5响应式Web设计:HTML5和CSS3实践指南【PDF】
- 6响应式Web设计:HTML5和CSS3实战 第2版 (本·弗莱恩) 中文【PDF】
- 7Axure RP8 实战手册 网站和APP原型制作案例精粹(小楼一夜听春语) 试读版【PDF】【15.4MB】
- 8[马上学Android]安卓开发视频教程
- 9Android开发视频教程
- 10PHP100视频教程
- 1Java编程思想On Java 8[PDF][中文][英文][源码][15.31MB]
- 2PostgreSQL实战 (谭峰等著)【PDF】【221.29MB】
- 3【机器学习】菜菜的sklearn课堂(1-12全课)[PDF][源码][157.45MB]
- 4UNREAL ENGINE 4蓝图完全学习教程[PDF][66.67MB]
- 5加密与解密(第4版)[PDF][光盘源码][1.15GB]
- 6Qt 5.9 C++开发指南[PDF][276.26MB]
- 7Python数据分析与应用PPT、教案、实训数据、习题答案[PPT][142.49MB]
- 8数据中台:让数据用起来[PDF][12.80MB]
- 9计算机网络:自顶向下方法(第7版) 【PDF】【英文】【17.46MB】
- 10大话5G:走进万物互联新时代【PDF】【37.31MB】