为你推荐
内容提要
前言
第1章
介绍
第2章
什么是模式
我们每天都在使用模式
第3章
模式状态测试、Proto模式及三法则
第4章
设计模式的结构
第5章
编写设计模式
第6章
反模式
第7章
设计模式类别
第8章
设计模式分类
有关类(Class)的要点
第9章
JavaScript设计模式
9.1 Constructor(构造器)模式
9.1.1 对象创建
9.1.2 基本Constructor(构造器)
9.1.3 带原型的Constructor(构造器)
9.2 Module(模块)模式
9.2.1 对象字面量
9.2.2 Module(模块)模式
9.2.3 Module模式变化
9.3 Revealing Module(揭示模块)模式
9.3.1 优点
9.3.2 缺点
9.4 Singleton(单例)模式
9.5 Observer(观察者)模式
9.5.1 Observer(观察者)模式和Publish/Subscribe(发布/订阅)模式的区别
9.5.2 优点
9.5.3 缺点
9.5.4 Publish/Subscribe实现
9.6 Mediator(中介者)模式
9.6.1 基本实现
9.6.2 高级实现
9.6.3 示例
9.6.4 优点和缺点
9.6.5 中介者(Mediator)与观察者(Observer)
9.6.6 中介者(Mediator)与外观(Facade)
9.7 Prototype(原型)模式
9.8 Command(命令)模式
9.9 Facade(外观)模式
有关抽象的要点
9.10 Factory(工厂)模式
9.10.1 何时使用Factory模式
9.10.2 何时不应使用Factory模式
9.10.3 Abstract Factory(抽象工厂)
9.11 Mixin模式
9.11.1 子类化
9.11.2 Mixin(混入)
9.12 Decorator(装饰者)模式
9.12.1 伪经典Decorator(装饰者)
9.12.2 使用jQuery的装饰者
9.12.3 优点和缺点
9.13 Flyweight(享元)模式
9.13.1 使用Flyweight模式
9.13.2 Flyweight和共享数据
9.13.3 实现经典Flyweight(享元)
9.13.4 转换代码以使用Flyweight(享元)模式
9.13.5 基本工厂
9.13.6 管理外部状态
9.13.7 Flyweight(享元)模式和DOM
第10章
JavaScript MV*模式
10.1 MVC
Smalltalk-80 MVC
10.2 为JavaScript开发人员提供的MVC
10.2.1 Model(模型)
10.2.2 View(视图)
10.2.3 Controller(控制器)
10.2.4 Spine.js与Backbone.js
10.3 MVC为我们提供了什么
10.4 JavaScript中的Smalltalk-80 MVC
10.4.1 深入挖掘
10.4.2 总结
10.5 MVP
10.5.1 Model、View和Presenter
10.5.2 MVP或MVC?
10.5.3 MVC、MVP和Backbone.js
10.6 MVVM
10.6.1 历史
10.6.2 Model
10.6.3 View
10.6.4 ViewModel
10.6.5 小结:View和ViewModel
10.6.6 小结:ViewModel和Model
10.7 利与弊
10.7.1 优点
10.7.2 缺点
10.8 使用更松散数据绑定的MVVM
10.9 MVC、MVP与MVVM
10.10 Backbone.js与KnockoutJS
第11章
模块化的JavaScript设计模式
11.1 脚本加载器要点
11.2 AMD
11.2.1 模块入门
11.2.2 使用Dojo的AMD模块
11.2.3 AMD模块设计模式(Dojo)
11.2.4 使用jQuery的AMD模块
11.2.5 AMD总结
11.3 CommonJS
11.3.1 入门指南
11.3.2 使用多个依赖
11.3.3 支持CommonJS的加载器和框架
11.3.4 CommonJS适用于浏览器吗?
11.3.5 延伸阅读
11.4 AMD和CommonJS:互相竞争,标准同效
UMD:用于插件的AMD和CommonJS兼容模块
11.5 ES Harmony
11.5.1 具有Imports和Exports的模块
11.5.2 从远程数据源加载的模块
11.5.3 模块加载器API
11.5.4 用于服务器的类CommonJS模块
11.5.5 具有构造函数、getter和setter的类
11.5.6 ES Harmony总结
11.5.7 延伸阅读
11.6 总结
第12章
jQuery中的设计模式
12.1 Composite(组合)模式
12.2 Adapter(适配器)模式
12.3 Facade(外观)模式
12.4 Observer(观察者)模式
12.5 Iterator(迭代器)模式
12.6 延迟初始化
12.7 Proxy(代理)模式
12.8 Builder(生成器)模式
第13章
jQuery插件设计模式
13.1 模式
13.2 Lightweight Start模式
延伸阅读
13.3 完整的Widget Factory模式
延伸阅读
13.4 嵌套命名空间插件模式
延伸阅读
13.5 自定义事件插件模式(使用Widget Factory)
延伸阅读
13.6 使用DOM-to-Object Bridge模式的原型继承
延伸阅读
13.7 jQuery UI Widget Factory Bridge模式
延伸阅读
13.8 使用Widget Factory的 jQuery Mobile Widget
13.9 RequireJS和 jQuery UI Widget Factory
13.9.1 用法
13.9.2 延伸阅读
13.10 全局选项和单次调用可重写选项(最佳选项模式)
延伸阅读
13.11 高可配和高可变的插件模式
延伸阅读
13.12 是什么使插件超越模式
13.12.1 质量
13.12.2 代码风格
13.12.3 兼容性
13.12.4 可靠性
13.12.5 性能
13.12.6 文档
13.12.7 维护的可能性
13.13 总结
13.14 命名空间模式
13.15 命名空间基础
13.15.1 单一全局变量
13.15.2 命名空间前缀
13.15.3 对象字面量表示法
13.15.4 嵌套命名空间
13.15.5 立即调用的函数表达式(IIFE)
13.15.6 命名空间注入
13.16 高级命名空间模式
13.16.1 自动嵌套的命名空间
13.16.2 依赖声明模式
13.16.3 深度对象扩展
13.16.4 推荐
第14章
总结
附录 参考文献
作者简介
译者简介
封面介绍
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜