JavaScript设计模式与开发实践 mobi 电子书 免费 下载地址

JavaScript设计模式与开发实践 mobi格式下载
JavaScript设计模式与开发实践书籍详细信息
  • ISBN:9787115388889
  • 作者:曾探 
  • 出版社:人民邮电出版社
  • 出版时间:2015-5
  • 页数:294
  • 价格:59.00元
  • 纸张:暂无纸张
  • 装帧:暂无装帧
  • 开本:暂无开本
  • 语言:未知
  • 丛书:图灵原创
  • TAG:暂无
  • 豆瓣评分:暂无豆瓣评分
  • 豆瓣短评:点击查看
  • 豆瓣讨论:点击查看
  • 豆瓣目录:点击查看
  • 读书笔记:点击查看
  • 原文摘录:点击查看
  • 更新时间:2024-06-01 12:56:25

内容简介:

本书在尊重《设计模式》原意的同时,针对JavaScript语言特性全面介绍了更适合JavaScript程序员的了16个常用的设计模式,讲解了JavaScript面向对象和函数式编程方面的基础知识,介绍了面向对象的设计原则及其在设计模式中的体现,还分享了面向对象编程技巧和日常开发中的代码重构。本书将教会你如何把经典的设计模式应用到JavaScript语言中,编写出优美高效、结构化和可维护的代码。


书籍目录:

第一部分 基础知识

第1章 面向对象的JavaScript

1.1 动态类型语言和鸭子类型  2

1.2 多态  4

1.3 封装  12

1.4 原型模式和基于原型继承的JavaScript对象系统  14

第2章 this、call和apply

2.1 this  24

2.2 call和apply  29

第3章 闭包和高阶函数

3.1 闭包 35

3.2 高阶函数  44

3.3 小结  58

第二部分 设计模式

第4章 单例模式

4.1 实现单例模式  60

4.2 透明的单例模式  61

4.3 用代理实现单例模式  62

4.4 JavaScript中的单例模式  63

4.5 惰性单例  65

4.6 通用的惰性单例  68

4.7 小结  70

第5章 策略模式

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章 代理模式

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章 迭代器模式

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章 发布—订阅模式

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章 命令模式

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章 组合模式

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章 模板方法模式

11.1 模板方法模式的定义和组成  151

11.2 第一个例子——Coffee or Tea  151

11.3 抽象类  156

11.4 模板方法模式的使用场景  159

11.5 钩子方法  160

11.6 好莱坞原则  162

11.7 真的需要“继承”吗  162

11.8 小结  164

第12章 享元模式

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章 职责链模式

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章 中介者模式

14.1 现实中的中介者  190

14.2 中介者模式的例子——泡泡堂游戏  191

14.3 中介者模式的例子——购买商品  199

14.4 小结  207

第15章 装饰者模式

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章 状态模式

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章 适配器模式

17.1 现实中的适配器  246

17.2 适配器模式的应用  247

17.3 小结  250

第三部分 设计原则和编程技巧

第18章 单一职责原则

18.1 设计模式中的SRP原则  252

18.2 何时应该分离职责  256

18.3 违反SRP原则  256

18.4 SRP 原则的优缺点  257

第19章 最少知识原则

19.1 减少对象之间的联系  258

19.2 设计模式中的LKP原则  259

19.3 封装在LKP 原则中的体现  261

第20章 开放-封闭原则

20.1 扩展window.onload函数  263

20.2 开放和封闭  264

20.3 用对象的多态性消除条件分支  265

20.4 找出变化的地方  266

20.5 设计模式中的开放—封闭原则  268

20.6 开放—封闭原则的相对性  270

20.7 接受第一次愚弄  270

第21章 接口和面向接口编程

21.1 回到Java的抽象类  271

21.2 interface  276

21.3 JavaScript 语言是否需要抽象类和interface  275

21.4 用鸭子类型进行接口检查  277

21.5 用TypeScript 编写基于interface的命令模式  278

第22章 代码重构

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


作者介绍:

曾探

2007年毕业于吉林大学软件学院。就职于国内知名前端团队腾讯AlloyTeam,高级工程师。

曾参与Web QQ、QQ群、Q+开发者网站、微云、QQ兴趣部落等大型前端项目的开发。有过Java、Python和JavaScript的开发经验,业余作品有HTML5版街头霸王等。

平时喜欢电影和音乐,业务时间也是一名健身教练。


出版社信息:

暂无出版社相关信息,正在全力查找中!


书籍摘录:

暂无相关书籍摘录,正在全力查找中!


在线阅读/听书/购买/PDF下载地址:


原文赏析:

那么有没有办法把泛化 this 的过程提取出来呢?本小节讲述的 uncurrying 就是用来解决这 个问题的。


方法中用到 this 的地方就不再局限于原来规定的对象,而是加以泛化并得到更广的适用性。


接下来引入代理类 proxySingletonCreateDiv:

...

var a = new proxySingletonCreateDiv('sven1');

var b = new proxySingletonCreateDiv('sven2');


var iteratorUploadObj = function() {

for (var i = 0, fn; fn = arguments[i++]; ) {

var uploadObj = fn();

if( uploadObj !== false ){

return uploadObj;

}

};

};


设计模式的总是把不变的事物和变化的事物分离开,...


最后看看测试结果:

...

// 分别输出: 发射普通子弹、发射导弹、发射原子弹


其它内容:

书籍介绍

本书在尊重《设计模式》原意的同时,针对JavaScript语言特性全面介绍了更适合JavaScript程序员的了16个常用的设计模式,讲解了JavaScript面向对象和函数式编程方面的基础知识,介绍了面向对象的设计原则及其在设计模式中的体现,还分享了面向对象编程技巧和日常开发中的代码重构。本书将教会你如何把经典的设计模式应用到JavaScript语言中,编写出优美高效、结构化和可维护的代码。


精彩短评:

  • 作者: Tars 发布时间:2016-01-14 10:48:59

    难得的中文好书,由浅入深,娓娓道来。虽有小瑕疵(都在笔记里列出),但绝对是一本值得反复研读的好书。

  • 作者: ⁧⁨⁩ 发布时间:2016-02-22 20:06:35

    20150909:alloyteam的书//20160222:好多年没看到国人写的、这么优秀的技术书了,绝不是趋利的拼凑之作,字里行间都透露出作者有积淀,且用心把这些积淀传授出来的诚意。优点不胜枚举:行文流畅,全程伴随例子,难度曲线平滑、措辞实在不故弄玄虚……

  • 作者: 寻海 发布时间:2016-09-22 16:36:09

    目前读过最好的JavaScript书,通俗易懂,深入浅出,不要说工具书权威指南和高级编程。

  • 作者: 大怪兽 发布时间:2016-02-01 00:44:36

    设计模式这种东西来回都是那些事,看到前几章本以为作者会用FP方式重新诠释设计模式,结果下半本的内容还是回到OO的路上。可能是期待太高了

  • 作者: bpc 发布时间:2015-08-18 23:33:08

    兵法

  • 作者: tiiiiin 发布时间:2024-02-02 17:21:55

    精彩画面一网打尽


深度书评:

  • 适合前端开发者阅读的设计模式

    作者:凉粉 发布时间:2020-04-28 16:06:19

    这本书真心不错,要是我刚入行的时候喜欢阅读,并且读过这本书的话,编程思维应该会成熟不少。

    首先,本书第一部分先介绍了一些基础知识,this,call和apply,还有闭包和高阶函数。开始我还有点纳闷,直接上正餐啊,这些基础知识不是已经有好些书啊技术博客都写烂了的。但是读到设计模式的时候发现,就算自己之前已经熟知这些基础知识,再多看几遍也不为过,能更明白这些基础知识存在的意义。以前单独学习这部分技术知识的时候就比较懵逼,讲得确实是细,但是和实际生产脱离太多了。所以看过就往。这本书讲到this这些的时候,后面立马就用上了。

    中间讲的设计模式,讲的方式也特别通俗易懂,不是一开始就用正确的设计模式,编写结果代码,而是按照常规思维写一段代码,再用这种设计模式,一步步的优化,有种循序渐进的过程。慢慢的打怪升级,不会有太多的理解成本,全书读下来非常的顺畅。

    最后一章节讲的是重构,并且举例了几种重构的点。非常保姆级别,没有脱离实际生产。

    适合多读几遍。

  • 设计模式实战学习很好的书

    作者:小白 发布时间:2020-08-17 11:37:32

    理论结合实际,里面很多结合实际应用的实例程序,学习设计模式实际应用很不错的书,不过作者使用的是JavaScript,对于现代脚本语言很多设计模式都是天然融入其中的。如果你想看通俗一点的奖金方式我推荐《head first设计模式》和《设计模式之禅》。如果你是游戏从业者想要学习设计模式在游戏开发中的实际应用,我推荐《游戏编程模式》和《设计模式与游戏完美开发》。前者是老外写的,网上有免费的英文版,当时对着谷歌翻译啃真的很费力,想着自己翻译过来应该能帮助很多人,无奈实力有限,现在有国内翻译小组翻译的实体书了,使用的是C++,这本书值得游戏从业者多读几遍,真是太赞了。后者是国人写的,使用的是C#,缺点是实例所使用的模式有些牵强。至于四人组的那本书,我也不好评价,因为没看过,反正听说翻译的挺烂的,这也是大多数经典计算机技术书籍翻译版的通病,我觉得学设计模式还是结合有实例应用比较好理解。在学习过程中针对每种模式问自己为什么要使用这种模式,不使用这种模式会怎样,使用它会有什么好处,在实际开发中尝试使用正确的模式去解决问题,在实践中不断的思考对代码重构才能达到融会贯通。绝对不要为了使用模式而乱套用,那样只会增加代码的逻辑复杂性。修炼设计模式的最高境界是心中无模式,你写出来的代码再也不像一个毛线团一样难以维护,而是像一篇优美的散文诗,那清晰的逻辑结构和正确的模块划分会让你如获至宝,忍不住多读几遍[呲牙]


书籍真实打分

  • 故事情节:8分

  • 人物塑造:5分

  • 主题深度:4分

  • 文字风格:4分

  • 语言运用:3分

  • 文笔流畅:7分

  • 思想传递:6分

  • 知识深度:7分

  • 知识广度:3分

  • 实用性:7分

  • 章节划分:5分

  • 结构布局:5分

  • 新颖与独特:3分

  • 情感共鸣:6分

  • 引人入胜:4分

  • 现实相关:7分

  • 沉浸感:4分

  • 事实准确性:8分

  • 文化贡献:3分


网站评分

  • 书籍多样性:3分

  • 书籍信息完全性:8分

  • 网站更新速度:7分

  • 使用便利性:6分

  • 书籍清晰度:6分

  • 书籍格式兼容性:3分

  • 是否包含广告:3分

  • 加载速度:9分

  • 安全性:7分

  • 稳定性:4分

  • 搜索功能:9分

  • 下载便捷性:9分


下载点评

  • 图书多(423+)
  • 目录完整(575+)
  • 情节曲折(431+)
  • 好评多(86+)
  • 快捷(583+)
  • 字体合适(431+)
  • 排版满分(511+)
  • 强烈推荐(130+)
  • 中评(105+)
  • 章节完整(590+)
  • 赞(300+)
  • 可以购买(258+)
  • 无多页(563+)

下载评价

  • 网友 寇***音: ( 2024-11-02 23:17:21 )

    好,真的挺使用的!

  • 网友 宫***玉: ( 2024-11-02 11:06:48 )

    我说完了。

  • 网友 瞿***香: ( 2024-10-29 00:59:30 )

    非常好就是加载有点儿慢。

  • 网友 利***巧: ( 2024-11-11 02:25:18 )

    差评。这个是收费的

  • 网友 辛***玮: ( 2024-11-01 14:25:39 )

    页面不错 整体风格喜欢

  • 网友 孔***旋: ( 2024-11-18 08:38:20 )

    很好。顶一个希望越来越好,一直支持。

  • 网友 仰***兰: ( 2024-11-19 18:54:18 )

    喜欢!很棒!!超级推荐!

  • 网友 索***宸: ( 2024-11-19 01:34:27 )

    书的质量很好。资源多

  • 网友 权***颜: ( 2024-11-20 03:35:36 )

    下载地址、格式选择、下载方式都还挺多的

  • 网友 师***怡: ( 2024-11-08 04:57:47 )

    说的好不如用的好,真心很好。越来越完美

  • 网友 步***青: ( 2024-11-07 11:44:34 )

    。。。。。好

  • 网友 谭***然: ( 2024-11-05 10:25:53 )

    如果不要钱就好了


最新书籍
随机推荐