JavaScript设计模式

出版社:人民邮电出版社
出版日期:2013-6-1
ISBN:9787115314543
作者:Addy Osmani
页数:241页

作者简介

《JavaScript设计模式》是JavaScript设计模式的学习指南。全书分为14章。首先介绍了什么是模式、模式的结构、类别、模式的分类、如何编写模式等等;然后,集中介绍了很多流行的设计模式在JavaScript中的应用,包括Module(模块)模式、Observer(观察者)模式、Facade(外观)模式和Mediator(中介者)模式;最后,还探讨了模块化的JavaScript模式、jQuery及其插件中的设计模式。
《JavaScript设计模式》适合专业的Web开发人员和前端工程师阅读。通过阅读本书,他们将能够提高对设计模式的认识,并学会如何将设计模式应用到JavaScript编程语言中。

书籍目录

第1章 介绍 1
第2章 什么是模式 3
我们每天都在使用模式 4
第3章 模式状态测试、proto模式及三法则 6
第4章 设计模式的结构 8
第5章 编写设计模式 11
第6章 反模式 13
第7章 设计模式类别 15
第8章 设计模式分类 17
有关类(class)的要点 17
第9章 javascript设计模式 20
9.1 constructor(构造器)模式 21
9.1.1 对象创建 21
9.1.2 基本constructor(构造器) 23
9.1.3 带原型的constructor(构造器) 24
9.2 module(模块)模式 25
9.2.1 对象字面量 25
9.2.2 module(模块)模式 27
9.2.3 module模式变化 31
.9.3 revealing module(揭示模块)模式 36
9.3.1 优点 38
9.3.2 缺点 38
9.4 singleton(单例)模式 38
9.5 observer(观察者)模式 42
9.5.1 observer(观察者)模式和publish/subscribe(发布/订阅)模式的区别 47
9.5.2 优点 49
9.5.3 缺点 49
9.5.4 publish/subscribe实现 49
9.6 mediator(中介者)模式 59
9.6.1 基本实现 60
9.6.2 高级实现 61
9.6.3 示例 67
9.6.4 优点和缺点 68
9.6.5 中介者(mediator)与观察者(observer) 69
9.6.6 中介者(mediator)与外观(facade) 69
9.7 prototype(原型)模式 70
9.8 command(命令)模式 73
9.9 facade(外观)模式 75
有关抽象的要点 78
9.10 factory(工厂)模式 78
9.10.1 何时使用factory模式 81
9.10.2 何时不应使用factory模式 81
9.10.3 abstract factory(抽象工厂) 81
9.11 mixin模式 82
9.11.1 子类化 83
9.11.2 mixin(混入) 84
9.12 decorator(装饰者)模式 88
9.12.1 伪经典decorator(装饰者) 91
9.12.2 使用jquery的装饰者 96
9.12.3 优点和缺点 97
9.13 flyweight(享元)模式 98
9.13.1 使用flyweight模式 98
9.13.2 flyweight和共享数据 99
9.13.3 实现经典flyweight(享元) 99
9.13.4 转换代码以使用flyweight(享元)模式 103
9.13.5 基本工厂 105
9.13.6 管理外部状态 106
9.13.7 flyweight(享元)模式和dom 107
第10章 javascript mv*模式 112
10.1 mvc 112
smalltalk-80 mvc 113
10.2 为javascript开发人员提供的mvc 114
10.2.1 model(模型) 114
10.2.2 view(视图) 116
10.2.3 controller(控制器) 119
10.2.4 spine.js与backbone.js 120
10.3 mvc为我们提供了什么 122
10.4 javascript中的smalltalk-80 mvc 122
10.4.1 深入挖掘 123
10.4.2 总结 123
10.5 mvp 124
10.5.1 model、view和presenter 124
10.5.2 mvp或mvc? 125
10.5.3 mvc、mvp和backbone.js 126
10.6 mvvm 128
10.6.1 历史 129
10.6.2 model 129
10.6.3 view 130
10.6.4 viewmodel 133
10.6.5 小结:view和viewmodel 135
10.6.6 小结:viewmodel和model 135
10.7 利与弊 135
10.7.1 优点 135
10.7.2 缺点 136
10.8 使用更松散数据绑定的mvvm 136
10.9 mvc、mvp与mvvm 141
10.10 backbone.js与knockoutjs 142
第11章 模块化的javascript设计模式 144
11.1 脚本加载器要点 145
11.2 amd 145
11.2.1 模块入门 146
11.2.2 使用dojo的amd模块 150
11.2.3 amd模块设计模式(dojo) 151
11.2.4 使用jquery的amd模块 152
11.2.5 amd总结 155
11.3 commonjs 155
11.3.1 入门指南 156
11.3.2 使用多个依赖 157
11.3.3 支持commonjs的加载器和框架 158
11.3.4 commonjs适用于浏览器吗? 158
11.3.5 延伸阅读 159
11.4 amd和commonjs:互相竞争,标准同效 159
umd:用于插件的amd和commonjs兼容模块 160
11.5 es harmony 165
11.5.1 具有imports和exports的模块 166
11.5.2 从远程数据源加载的模块 167
11.5.3 模块加载器api 167
11.5.4 用于服务器的类commonjs模块 168
11.5.5 具有构造函数、getter和setter的类 168
11.5.6 es harmony总结 169
11.5.7 延伸阅读 170
11.6 总结 170
第12章 jquery中的设计模式 171
12.1 composite(组合)模式 171
12.2 adapter(适配器)模式 173
12.3 facade(外观)模式 174
12.4 observer(观察者)模式 177
12.5 iterator(迭代器)模式 180
12.6 延迟初始化 181
12.7 proxy(代理)模式 183
12.8 builder(生成器)模式 184
第13章 jquery插件设计模式 187
13.1 模式 188
13.2 lightweight start模式 189
延伸阅读 191
13.3 完整的widget factory模式 191
延伸阅读 194
13.4 嵌套命名空间插件模式 194
延伸阅读 196
13.5 自定义事件插件模式(使用widget factory) 196
延伸阅读 198
13.6 使用dom-to-object bridge模式的原型继承 198
延伸阅读 200
13.7 jquery ui widget factory bridge模式 200
延伸阅读 203
13.8 使用widget factory的jquery mobile widget 203
13.9 requirejs和jquery ui widget factory 206
13.9.1 用法 208
13.9.2 延伸阅读 209
13.10 全局选项和单次调用可重写选项(最佳选项模式) 209
延伸阅读 211
13.11 高可配和高可变的插件模式 211
延伸阅读 213
13.12 是什么使插件超越模式 213
13.12.1 质量 214
13.12.2 代码风格 214
13.12.3 兼容性 214
13.12.4 可靠性 214
13.12.5 性能 214
13.12.6 文档 215
13.12.7 维护的可能性 215
13.13 总结 215
13.14 命名空间模式 215
13.15 命名空间基础 216
13.15.1 单一全局变量 216
13.15.2 命名空间前缀 217
13.15.3 对象字面量表示法 217
13.15.4 嵌套命名空间 221
13.15.5 立即调用的函数表达式(iife) 222
13.15.6 命名空间注入 224
13.16 高级命名空间模式 226
13.16.1 自动嵌套的命名空间 227
13.16.2 依赖声明模式 229
13.16.3 深度对象扩展 229
13.16.4 推荐 232
第14章 总结 233
附录 参考文献 235

编辑推荐

通过阅读奥斯马尼的《JavaScript设计模式》,你将学会如何把经典和现代设计模式应用到JavaScript语言中,来编写优美、结构化和可维护的代码。如果想让代码保持高效、更易于管理,并且能同步最新的最佳实践,那么本书正是为你打造的。    本书介绍了很多流行的设计模式,包括Module(模块)模式、Observer(观察者)模式、:Facade(外观)模式和Mediator(中介者)模式;帮助你从现代Web应用程序开发者的角度来了解MVC、MVP、MVVM等现代架构模式的实用性。本书将带领你了解现代模块格式、有效为代码定义名称空间的方法和其他重要主题。

内容概要

addy osmani,谷歌chrome团队的开发项目工程师,对javascript应用程序架构有着强烈的爱好。他创建了比较流行的项目,如todomvc,并对modernizr和jquery等其他开源项目也做出很大贡献。作为一位高产的博主(http://addyosmani.com/blog),addy的文章经常出现在《javascript电子周刊》、《smashing杂志》及很多其他出版物上。


 JavaScript设计模式下载 更多精彩书评



发布书评

 
 


精彩书评 (总计6条)

  •     一句话:好书被翻译搞的什么都不是什么,还是太短?我说了,翻译太烂了,去看原书吧 还是短?豆瓣你想怎样?我擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
  •     显然译者的态度有问题。 看原文吧。 随便翻几页就看到这些惨不忍睹的文字: p83:   对于...开发人员来说, 在...之前,将阅读初学者内容;   p6:  This is a reason why patterns generally focus on addressing a visually identifiable structure   -->  这就是为什么模式通常专注于为视觉可识别结构寻址... When using models in real-world applications we generally also desire model persistence.    p115 当...时,我们一般也要求Model(模型)具持久化。     
  •     话说设计模式本来就是不太好懂的地方,但这本书讲解的确实不错了,代码例子列举的非常给力,只是缩紧有问题,很明显这是排版的问题,看得出来出版社急于上线,整本书翻译的不错,但有不少错误之处,和拗口之处,另外可以看看这里译者的博客http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html

精彩短评 (总计38条)

  •     本年度翻译最烂书籍必居其一
  •     内容不错,但是代码的缩进着实太随便了
  •     在作者的网站上,这本书是有免费的原版的。我第一次接触这些编程概念,看原版简直看得想死。暂时不跟它较强,边看其它书实践再回头翻两页就算。
  •     老实说,不是很明白。
  •     内容偏理论,总体来说质量不错。。
  •     还是看原文吧。 看译者博客有水平,但显然态度太差了,比机器翻译好不了多少。
  •     翻译和排版扣分,除去一些错误,还是挺不错的一本书,有辨识能力的话可以学到不少东西
  •     作为一个前端开发人员,这是一本必看的技术图书,把里面的东西弄明白了,能力就上一人档次了!
  •     翻译好烂,读不下去了
  •     书是好书, 可惜被徐涛的翻译糟蹋了, 徐涛名下的书籍翻译质量都比较差, 买书时要注意。
  •     JavaScript设计模式 和我以前看的一本都是一类书,只不过那么本在亚马逊缺货了!这本也特好,作为javascript忠实追随着的我拉私活,极度推荐着本书的
  •     关于翻译质量,仁者见仁智者见智,这里就不吐槽了。但是书中很大一部分的示例代码的代码缩进都是乱的,严重影响阅读,难道出版之前就不能审查一下吗?严重怀疑只是进行了简单的复制粘贴,连缩进都不进行处理下!
  •     同一个专业术语,出现不同的译法;还有各种不通顺、错误。只能说: 翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!翻译好烂!
  •     真是垃圾!不知道是排版垃圾还是翻译垃圾还是原作也不行。。。真是眼瞎了才买这本。 代码错误一堆,没有注解,排版翻译错误一堆。
  •     开始看第五本!tom大叔翻译的很烂,代码也很多没有缩进。。。 不推荐
  •     有些难度啊,翻译还行,有些错误,排版很烂
  •     推荐英文版
  •     翻译实在太烂了,我这么对翻译不挑剔的人都忍不了了,比机翻的好不到哪儿去,直接看原版去了……
  •     26种设计模式那块略看 在讲解各种js框架和MVP\MVC等模式的时候还是可以。特别是js的模板、AMD等等这些的讲解 为什么要引入这些框架 在哪些情况引入这些框架 还是比较透彻的 最主要这本书比较新 谈到的各种技术比较先进
  •     翻译的是在太烂,中文我都看不懂
  •     前半段在講怎麼讓 JavaScript 模仿有 Class 的強 Type 語言,後半段在講怎麼利用 JavaScript Prototype Object 的弱 Type 特性來實現設計模式。 不過現在的人已經都在寫 ES2015 或 TypeScript 了,所以有些章節可以省去,主要還是前面 JavaScript Prototype Object 、閉包與函式的特性比較重要。
  •     js中的模式讲解比较浅显,关键在于实际运用,后面jQuery插件开发的章节有点滥竽充数
  •     不懂的地方仍然不懂,懂的东西一下子豁然开朗。
  •     翻译的太烂了,好多地方真感觉是直接用翻译软件翻译的...
  •     js升级必备
  •     没工作的时候,读读书。只是确实有点烂翻译,让人不想继续读,当然,自己的水平也是一方面。
  •     不错,对学习js很有帮助
  •     在作者网站有完全版。最好能先读一下reference里的基本经典。最后一部分需要对jQuery有很深的了解才能完全读懂。整体面向中高阶js开发者
  •     感觉前面讲设计模式部分的翻译很糟糕,很多理解起来比较困难,后面的还好
  •     翻译不咋的,内容上讲了太多 jQuery 相关的东西了......
  •     书本身是好书,但给作者翻译的一塌糊涂本来很清楚的东西。给他搞的晕头转向,还什么Tom大叔,徒有虚名
  •     翻译的确实不好,干货有,但不多
  •     记住你了,徐涛,你翻译的书绝不能看。
  •     很全面,但要实际应用起来还是要有自身积累。这是一本让你知道“是什么”,而具体怎么做还是得看自己造化啊。。
  •     jQuery的内容太多了,马马虎虎,看代码比看文字容易理解
  •     代码缩进都做不好
  •     生搬硬套的感觉。
  •     内容还是值得肯定,例子很多。但是排版也太随心所欲了,代码缩进就不说了,还有很多错误,这是要虐死处女座的节奏………
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024