《JavaScript设计模式》PDF

admin 发布于:2015-10-29 17:00 栏目:JavaScript 浏览:2610 评论:2
《JavaScript 设计模式》 本书共有两部分。第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,主要包括接口、封装和信息隐藏、继承、单体模式等内容。第二部分则专注 于各种具体的设计模式及其在javascript 语言中的应用,主要介绍了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。为了让每一章中的示例都尽可能地贴近实际应用,书中同时列举了一些 javascript 程序员最常见的任务,然后运用设计模式使其解决方案变得更模块化、更高效并且更易维护,其中较为理论化的例子则用于阐明某些要点。

描述:《JavaScript 设计模式》PDF

图片:0.jpg

《JavaScript 设计模式》PDF


第一部分 面向对象的JavaScript第1章 富有表现力的JavaScript
1.1 JavaScript的灵活性1.2 弱类型语言
1.3 函数是一等对象1.4 对象的易变性
1.5 继承1.6 JavaScript中的设计模式
1.7 小结第2章 接口
2.1 什么是接口2.1.1 接口之利
2.1.2 接口之弊2.2 其他面向对象语言处理接口的方式
2.3 在JavaScript中模仿接口2.3.1 用注释描述接口
2.3.2 用属性检查模仿接口2.3.3 用鸭式辨型模仿接口
2.4 本书采用的接口实现方法2.5 Interface类
2.5.1 Interface类的使用场合2.5.2 Interface类的用法
2.5.3 示例:使用Interface类2.6 依赖于接口的设计模式
2.7 小结第3章 封装和信息隐藏
3.1 信息隐藏原则3.1.1 封装与信息隐藏
3.1.2 接口扮演的角色3.2 创建对象的基本模式
3.2.1 门户大开型对象3.2.2 用命名规范区别私用成员
3.2.3 作用域、嵌套函数和闭包3.2.4 用闭包实现私用成员
3.3 更多高级对象创建模式3.3.1 静态方法和属性
3.3.2 常量3.3.3 单体和对象工厂
3.4 封装之利3.5 封装之弊
3.6 小结第4章 继承
4.1 为什么需要继承4.2 类式继承
4.2.1 原型链4.2.2 extend函数
4.3 原型式继承4.3.1 对继承而来的成员的读和写的不对等性
4.3.2 clone函数4.4 类式继承和原型式继承的对比
4.5 继承与封装4.6 掺元类
4.7 示例:就地编辑4.7.1 类式继承解决方案
4.7.2 原型式继承解决方案4.7.3 掺元类解决方案
4.8 继承的适用场合4.9 小结
第5章 单体模式5.1 单体的基本结构
5.2 划分命名空间5.3 用作特定网页专用代码的包装器的单体
5.4 拥有私用成员的单体5.4.1 使用下划线表示法
5.4.2 使用闭包5.4.3 两种技术的比较
5.5 惰性实例化5.6 分支
5.7 示例:用分支技术创建XHR对象5.8 单体模式的适用场合
5.9 单体模式之利5.10 单体模式之弊
5.11 小结第6章 方法的链式调用
6.1 调用链的结构6.2 设计一个支持方法链式调用的JavaScript库
6.3 使用回调从支持链式调用的方法获取数据6.4 小结
第二部分 设计模式第7章 工厂模式
7.1 简单工厂7.2 工厂模式
7.3 工厂模式的适用场合7.3.1 动态实现
7.3.2 节省设置开销7.3.3 用许多小型对象组成一个大对象
7.4 示例:XHR工厂7.4.1 专用型连接对象
7.4.2 在运行时选择连接对象7.5 示例:RSS阅读器
7.6 工厂模式之利7.7 工厂模式之弊
7.8 小结第8章 桥接模式
8.1 示例:事件监听器8.2 桥接模式的其他例子
8.3 用桥接模式联结多个类8.4 示例:构建XHR连接队列
8.4.1 添加核心工具8.4.2 添加观察者系统
8.4.3 开发队列的基本框架8.4.4 实现队列
8.4.5 哪些地方用了桥接模式8.5 桥接模式的适用场合
8.6 桥接模式之利8.7 桥接模式之弊
8.8 小结第9章 组合模式
9.1 组合对象的结构9.2 使用组合模式
9.3 示例:表单验证9.3.1 汇合起来
9.3.2 向FormItem添加操作9.3.3 向层次体系中添加类
9.3.4 添加更多操作9.4 示例:图片库
9.5 组合模式之利9.6 组合模式之弊
9.7 小结第10章 门面模式
10.1 一些你可能已经知道的门面元素10.2 JavaScript库的门面性质
10.3 用作便利方法的门面元素10.4 示例:设置HTML元素的样式
10.5 示例:设计一个事件工具10.6 实现门面模式的一般步骤
10.7 门面模式的适用场合10.8 门面模式之利
10.9 门面模式之弊10.10 小结
第11章 适配器模式11.1 适配器的特点
11.2 适配原有实现11.3 示例:适配两个库
11.4 示例:适配电子邮件API11.4.1 用适配器包装Web邮件API
11.4.2 从fooMail转向dedMail11.5 适配器模式的适用场合
11.6 适配器模式之利11.7 适配器模式之弊
11.8 小结第12章 装饰者模式
12.1 装饰者的结构12.1.1 接口在装饰者模式中的角色
12.1.2 装饰者模式与组合模式的比较12.2 装饰者修改其组件的方式
12.2.1 在方法之后添加行为12.2.2 在方法之前添加行为
12.2.3 替换方法12.2.4 添加新方法
12.3 工厂的角色12.4 函数装饰者
12.5 装饰者模式的适用场合12.6 示例:方法性能分析器
12.7 装饰者模式之利12.8 装饰者模式之弊
12.9 小结第13章 享元模式
13.1 享元的结构13.2 示例:汽车登记
13.2.1 内在状态和外在状态13.2.2 用工厂进行实例化
13.2.3 封装在管理器中的外在状态13.3 管理外在状态
13.4 示例:Web日历13.4.1 把日期对象转化为享元
13.4.2 外在数据保存在哪里13.5 示例:工具提示对象
13.5.1 未经优化的Tooltip类13.5.2 作为享元的Tooltip
13.6 保存实例供以后重用13.7 享元模式的适用场合
13.8 实现享元模式的一般步骤13.9 享元模式之利
13.10 享元模式之弊13.11 小结
第14章 代理模式14.1 代理的结构
14.1.1 代理如何控制对本体的访问14.1.2 虚拟代理、远程代理和保护代理
14.1.3 代理模式与装饰者模式的比较14.2 代理模式的适用场合
14.3 示例:网页统计14.4 包装Web服务的通用模式
14.5 示例:目录查找14.6 创建虚拟代理的通用模式
14.7 代理模式之利14.8 代理模式之弊
14.9 小结第15章 观察者模式
15.1 示例:报纸的投送15.1.1 推与拉的比较
15.1.2 模式的实践15.2 构建观察者API
15.2.1 投送方法15.2.2 订阅方法
15.2.3 退订方法15.3 现实生活中的观察者
15.4 示例:动画15.5 事件监听器也是观察者
15.6 观察者模式的适用场合15.7 观察者模式之利
15.8 观察者模式之弊15.9 小结
第16章 命令模式16.1 命令的结构
16.1.1 用闭包创建命令对象16.1.2 客户、调用者和接收者
16.1.3 在命令模式中使用接口16.2 命令对象的类型
16.3 示例:菜单项16.3.1 菜单组合对象
16.3.2 命令类16.3.3 汇合起来
16.3.4 添加更多菜单项16.4 示例:取消操作和命令日志
16.4.1 使用命令日志实现不可逆操作的取消16.4.2 用于崩溃恢复的命令日志
16.5 命令模式的适用场合16.6 命令模式之利
16.7 命令模式之弊16.8 小结
第17章 职责链模式17.1 职责链的结构
17.2 传递请求17.3 在现有层次体系中实现职责链
17.4 事件委托17.5 职责链模式的适用场合
17.6 图片库的进一步讨论17.6.1 用职责链提高组合对象的效率
17.6.2 为图片添加标签17.7 职责链模式之利
17.8 职责链模式之弊17.9 小结
索引
链接:http://pan.baidu.com/s/1c00TcTq

提取码:扫描下方二维码回复100获取

JavaScript中文网
沙发#
发布于:2015-11-02 23:22
JavaScript 设计模式
板凳#
发布于:2016-08-06 14:04
有必要吗?
游客

返回顶部