登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』JavaScript设计模式与开发实践

書城自編碼: 3636708
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 曾探
國際書號(ISBN): 9787115388889
出版社: 人民邮电出版社
出版日期: 2021-04-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 115.2

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
广东当代金融史:全三册
《 广东当代金融史:全三册 》

售價:HK$ 717.6
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
《 养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈 》

售價:HK$ 58.8
1368:历史岔道口的抉择与国运盛衰
《 1368:历史岔道口的抉择与国运盛衰 》

售價:HK$ 69.6
全球城市发展报告2023:基于全球城市网络的合作与竞争
《 全球城市发展报告2023:基于全球城市网络的合作与竞争 》

售價:HK$ 273.6
为什么只见树木不见森林:从简单现象到复杂系统
《 为什么只见树木不见森林:从简单现象到复杂系统 》

售價:HK$ 94.8
大英帝国的兴衰:跨越海洋 征服世界
《 大英帝国的兴衰:跨越海洋 征服世界 》

售價:HK$ 117.6
意大利文艺复兴新艺术史
《 意大利文艺复兴新艺术史 》

售價:HK$ 958.8
2023年《咬文嚼字》合订本(精)
《 2023年《咬文嚼字》合订本(精) 》

售價:HK$ 93.6

 

建議一齊購買:

+

HK$ 87.3
《 推荐系统实践 》
+

HK$ 98.8
《 Python异步编程实战——基于AIO的全栈开发技术 》
+

HK$ 196.4
《 好好学Python:从零基础到项目实战 》
+

HK$ 127.7
《 Vue.js 3.0从入门到实战 (微课视频版) 》
+

HK$ 149.8
《 数据结构与算法之美(全彩印刷) 》
+

HK$ 111.3
《 Python自动化运维快速入门(第2版) 》
編輯推薦:
腾讯前端Alloy Team团队出品,资 深前端架构师曾探力作
全面涵盖专门针对JavaScript的16个设计模式
深入剖析面向对象设计原则、编程技巧及代码重构
设计模式是软件设计中经过了大量实际项目验证的可复用的优 秀解决方案,它有助于程序员写出可复用和可维护性高的程序。许多优 秀的JavaScript开源框架都运用了不少设计模式,越来越多的程序员从设计模式中获益,也许是改善了自己编写的某个软件,也许是更好地理解了面向对象的编程思想。无论如何,系统地学习设计模式都会令你受益匪浅。
本书在尊重《设计模式》原意的同时,针对JavaScript语言特性全面介绍了更适合JavaScript程序员的了16个常用的设计模式,讲解了JavaScript面向对象和函数式编程方面的基础知识,介绍了面向对象的设计原则及其在设计模式中的体现,还分享了面向对象编程技巧和日常开发中的代码重构。本书将教会你如何把经典的设计模式应用到JavaScript语言中,编写出优美高效、结构化和可维护的代码。
內容簡介:
本书是根据JavaScript语言的特性专门针对JavaScript语言全面总结的设计模式。全书共分为三个部分,第 一部分讲解了JavaScript语言面向对象和函数式编程的知识及其在设计模式方面的作用;第 二部分通过一步步完善的代码示例,由浅入深地讲解了16个设计模式;第三部分讲述了面向对象的设计原则及其在设计模式中的体现,以及一些常见的面向对象编程技巧和日常开发中的代码重构。
书中所有示例均来自作者长期的开发实践,与实际开发密切相关,适合初、中、高 级Web前端开发人员阅读,尤其适合想往架构师晋级的中高 级程序员。
關於作者:
曾探
2007年毕业于吉林大学软件学院。就职于国内知名前端团队腾讯AlloyTeam,高 级工程师。
曾参与Web QQ、QQ群、Q 开发 者网站、微云、QQ兴趣部落等大型前端项目的开发。有过Java、Python和JavaScript的开发经验,业余作品有HTML5版街头霸王等。
平时喜欢电影和音乐,业余时间也是一名健身教练。
目錄
目录
第 一部分 基础知识
第 1章 面向对象的JavaScript2
1.1 动态类型语言和鸭子类型2
1.2 多态4
1.2.1 一段“多态”的JavaScript
代码5
1.2.2 对象的多态性5
1.2.3 类型检查和多态6
1.2.4 使用继承得到多态效果7
1.2.5 JavaScript的多态8
1.2.6 多态在面向对象程序设计中
的作用9
1.2.7 设计模式与多态11
1.3 封装12
1.3.1 封装数据12
1.3.2 封装实现12
1.3.3 封装类型13
1.3.4 封装变化13
1.4 原型模式和基于原型继承的JavaScript
对象系统14
1.4.1 使用克隆的原型模式14
1.4.2 克隆是创建对象的手段15
1.4.3 体验Io语言15
1.4.4 原型编程范型的一些规则17
1.4.5 JavaScript中的原型继承18
1.4.6 原型继承的未来22
1.4.6 小结23
第 2章 this、call和apply24
2.1 this24
2.1.1 this的指向24
2.1.2 丢失的this27
2.2 call和apply29
2.2.1 call和apply的区别29
2.2.2 call和apply的用途30
第3章 闭包和高阶函数35
3.1 闭包35
3.1.1 变量的作用域35
3.1.2 变量的生存周期36
3.1.3 闭包的更多作用38
3.1.4 闭包和面向对象设计40
3.1.5 用闭包实现命令模式41
3.1.6 闭包与内存管理43
3.2 高阶函数44
3.2.1 函数作为参数传递44
3.2.2 函数作为返回值输出46
3.2.3 高阶函数实现AOP47
3.2.4 高阶函数的其他应用49
3.3 小结58
第 二部分 设计模式
第4章 单例模式60
4.1 实现单例模式60
4.2 透明的单例模式61
4.3 用代理实现单例模式62
4.4 JavaScript中的单例模式63
4.5 惰性单例65
4.6 通用的惰性单例68
4.7 小结70
第5章 程序员与算法71
5.1 使用策略模式计算奖金72
5.2 JavaScript版本的策略模式75
5.3 多态在策略模式中的体现76
5.4 使用策略模式实现缓动动画76
5.4.1 实现动画效果的原理76
5.4.2 思路和一些准备工作77
5.4.3 让小球运动起来77
5.5 更广义的“算法”80
5.6 表单校验80
5.6.1 表单校验的第 一个版本80
5.6.2 用策略模式重构表单校验81
5.6.3 给某个文本输入框添加多种
校验规则83
5.7 策略模式的优缺点86
5.8 一等函数对象与策略模式86
5.9 小结87
第6章 代理模式88
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.8.1 缓存代理的例子——计算
乘积99
6.8.2 缓存代理用于ajax异步请
求数据100
6.9 用高阶函数动态创建代理100
6.10 其他代理模式101
6.11 小结102
第7章 迭代器模式103
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章 发布—订阅模式110
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章 命令模式125
9.1 命令模式的用途125
9.2 命令模式的例子——菜单程序126
9.3 JavaScript中的命令模式128
9.4 撤销命令130
9.5 恢复命令日志132
9.6 命令队列133
9.7 宏命令134
9.8 智能命令与傻瓜命令135
9.9 小结136
第 10章 组合模式137
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章 模板方法模式151
11.1 模板方法模式的定义和组成151
11.2 第 一个例子Coffee or Tea151
11.2.1 先泡一杯咖啡152
11.2.2 沏一壶茶152
11.2.3 分离出共同点153
11.2.4 创建Coffee子类和Tea
子类154
11.3 抽象类156
11.3.1 抽象类的作用156
11.3.2 抽象方法和具体方法156
11.3.3 用Java实现Coffee or Tea的例子157
11.3.4 JavaScript没有抽象类的
缺点和变通158
11.4 模板方法模式的使用场景159
11.5 钩子方法160
11.6 好莱坞原则162
11.7 真的需要“继承”吗162
11.8 小结164
第 12章 享元模式165
12.1 初识享元模式165
12.2 内部状态与外部状态166
12.3 享元模式的通用结构167
12.4 文件上传的例子167
12.4.1 对象爆炸168
12.4.2 享元模式重构文件上传170
12.4.3 剥离外部状态170
12.4.4 工厂进行对象实例化171
12.4.5 管理器封装外部状态171
12.5 享元模式的适用性173
12.6 再谈内部状态和外部状态173
12.6.1 没有内部状态的享元173
12.6.2 没有外部状态的“享元”174
12.7 对象池175
12.7.1 对象池实现175
12.7.2 通用对象池实现177
12.8 小结178
第 13章 职责链模式179
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章 中介者模式189
14.1 现实中的中介者190
14.2 中介者模式的例子——泡泡堂游戏191
14.2.1 为游戏增加队伍192
14.2.2 玩家增多带来的困扰194
14.2.3 用中介者模式改造泡泡堂
游戏194
14.3 中介者模式的例子——购买商品199
14.3.1 开始编写代码201
14.3.2 对象之间的联系202
14.3.3 可能遇到的困难203
14.3.4 引入中介者205
14.4 小结207
第 15章 装饰者模式209
15.1 给对象动态添加职责210
15.2 模拟传统面向对象语言的装饰者
模式210
15.3 装饰者也是包装器211
15.4 回到JavaScript的装饰者212
15.5 装饰函数213
15.6 用AOP装饰函数215
15.7 AOP的应用实例217
15.7.1 数据统计上报217
15.7.2 统计函数执行时间218
15.7.3 用AOP动态改变函数的
参数219
15.7.4 插件式的表单验证221
15.8 装饰者模式和代理模式224
15.9 小结224
第 16章 状态模式225
16.1 初识状态模式225
16.1.1 第 一个例子:电灯程序226
16.1.2 状态模式改进电灯程序227
16.2 状态模式的定义231
16.3 状态模式的通用结构231
16.4 缺少抽象类的变通方式232
16.5 另一个状态模式示例——文件
上传233

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.