JavaScript设计模式与开发实践

曾探

出版时间

2015-05-01

ISBN

9787115388889

评分

★★★★★
书籍介绍
这本书最打动人的地方,是作者把设计模式从Java的框架里抽出来,重新放进JavaScript的语言特性中重新长一遍。它不满足于告诉读者"这是什么模式",而是反复追问:在闭包、this、原型继承、一等函数这些JS独有的机制下,这个模式该如何落地?比如惰性单例用高阶函数动态创建、策略模式与多态的结合,都体现出作者"把不变与变化分离"的核心思路。读者评价它由浅入深、全程伴随实例,前几章讲this、闭包、多态时略显冗长,但真正进入设计模式后"别有洞天"。它适合有一定JS基础、想系统理解代码结构的前端开发者;若期待用函数式编程彻底重构设计模式,可能会失望——后半部分仍回归面向对象。
作者简介
曾探,2007年毕业于吉林大学软件学院。就职于国内知名前端团队腾讯AlloyTeam,高级工程师。 曾参与Web QQ、QQ群、Q+开发者网站、微云、QQ兴趣部落等大型前端项目的开发。有过Java、Python和JavaScript的开发经验,业余作品有HTML5版街头霸王等。 平时喜欢电影和音乐,业务时间也是一名健身教练。
AI导读
核心看点
  • 结合JS特性讲解16种常用设计模式
  • 深入解析this、闭包等JS核心基础
  • 提供可直接应用于开发的代码实例
读者共识
  • 行文流畅,由浅入深,诚意之作
  • 国内JS技术书籍中的优秀典范
  • 理论结合实际,对架构设计有启发
精彩摘录
  • "那么有没有办法把泛化 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代码实现如下 var makesound - function( animal )f if( animal instanceof Duck ) console。1og(); else if animal instanceof Chicken ) console。g(略略略); } var Duck=functions; var Chicken=function; makesound( new Ducko /嘠嘠 makesound( new Chicken());/略咯咯 这段代码确实体现了“多态性”,当我们分别"
  • "var Duck=functional Duck. prototype sound =function(( console.og('嘠嘠); var Chicken =function( Chicken. prototype sound= function(t console.10g('略咯略); }; makesound( new Duck()) //嘠嘠嘎 makesound( new Chicken());略略略"
目录
第一部分 基础知识
第1章 面向对象的JavaScript
1.1 动态类型语言和鸭子类型  2
1.2 多态  4
1.3 封装  12

显示全部
用户评论
很棒的一本书,干货满满,但又不枯燥。讲设计模式时,会先讲在静态语言中的使用,再重点说JavaScript中的应用。作者通过分别编写不使用设计模式和使用的代码,让我更具象感受到各种设计模式的差别和优缺点。
国产好书,JS新手应该看看。。。不过感觉设计模式这种还是用TS或者其他Type语言来讲比较好。
真不错!
比O'reily社对应的书好的不多,这是一本!
目前读过最好的JavaScript书,通俗易懂,深入浅出,不要说工具书权威指南和高级编程。
后面在多点内容就更好了,牛啊
面试季睡前读物,囫囵吞枣扫了一遍,好书!
读的时候之前有些懵懵懂懂的有了些许认知,也发现了自己写代码的很多坏习惯。回头得对着代码优化实践一下。而且这本书我应该很需要常常重温。
非常好,循序渐进,娓娓道来
下载
收藏