婷婷五月情,国产精品久久久久久亚洲小说,runaway韩国电影免费完整版,国产乱在线观看视频,日韩精品首页,欧美在线视频二区

歡迎光臨中圖網 請 | 注冊
> >>
JavaScript設計模式與開發實踐

包郵 JavaScript設計模式與開發實踐

作者:曾探
出版社:人民郵電出版社出版時間:2021-04-01
開本: 16開 頁數: 294
中 圖 價:¥51.3(7.3折) 定價  ¥69.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

JavaScript設計模式與開發實踐 版權信息

JavaScript設計模式與開發實踐 本書特色

騰訊前端Alloy Team團隊出品,資 深前端架構師曾探力作 全面涵蓋專門針對JavaScript的16個設計模式 深入剖析面向對象設計原則、編程技巧及代碼重構設計模式是軟件設計中經過了大量實際項目驗證的可復用的優 秀解決方案,它有助于程序員寫出可復用和可維護性高的程序。許多優 秀的JavaScript開源框架都運用了不少設計模式,越來越多的程序員從設計模式中獲益,也許是改善了自己編寫的某個軟件,也許是更好地理解了面向對象的編程思想。無論如何,系統地學習設計模式都會令你受益匪淺。本書在尊重《設計模式》原意的同時,針對JavaScript語言特性全面介紹了更適合JavaScript程序員的了16個常用的設計模式,講解了JavaScript面向對象和函數式編程方面的基礎知識,介紹了面向對象的設計原則及其在設計模式中的體現,還分享了面向對象編程技巧和日常開發中的代碼重構。本書將教會你如何把經典的設計模式應用到JavaScript語言中,編寫出優美高效、結構化和可維護的代碼。

JavaScript設計模式與開發實踐 內容簡介

本書是根據JavaScript語言的特性專門針對JavaScript語言全面總結的設計模式。全書共分為三個部分,第 一部分講解了JavaScript語言面向對象和函數式編程的知識及其在設計模式方面的作用;第 二部分通過一步步完善的代碼示例,由淺入深地講解了16個設計模式;第三部分講述了面向對象的設計原則及其在設計模式中的體現,以及一些常見的面向對象編程技巧和日常開發中的代碼重構。 書中所有示例均來自作者長期的開發實踐,與實際開發密切相關,適合初、中、高 級Web前端開發人員閱讀,尤其適合想往架構師晉級的中高 級程序員。

JavaScript設計模式與開發實踐 目錄

目錄

第 一部分 基礎知識
第 1章 面向對象的JavaScript 2
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和apply 24
2.1 this 24
2.1.1 this的指向 24
2.1.2 丟失的this 27
2.2 call和apply 29
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 高階函數實現AOP 47
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 Tea 151
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
展開全部

JavaScript設計模式與開發實踐 作者簡介

曾探 2007年畢業于吉林大學軟件學院。就職于國內知名前端團隊騰訊AlloyTeam,高 級工程師。 曾參與Web QQ、QQ群、Q+開發 者網站、微云、QQ興趣部落等大型前端項目的開發。有過Java、Python和JavaScript的開發經驗,業余作品有HTML5版街頭霸王等。 平時喜歡電影和音樂,業余時間也是一名健身教練。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 激情综合网五月 | 亚洲四房播| 国产精品自拍亚洲 | 国产一区二区三区不卡观 | 国精品一区二区三区 | 深爱激情婷婷 | 亚洲国产日韩综合久久精品 | 五月婷婷六月丁香 | 久久精品123 | 国产在线天堂a v | 99精品国内不卡在线观看 | 国产麻豆精品一区二区 | 欧美一区高清 | 日韩欧美中 | 久久综合给合久久狠狠狠色97 | 久久精品香蕉视频 | 免费一级毛片清高播放 | 日韩欧美亚洲每日更新网 | 精品国产福利久久久 | 久久精品国产91久久综合麻豆自制 | 五月婷婷丁香综合网 | 欧美精品九九99久久在观看 | 国产羞羞 | 国产精品久久精品牛牛影视 | 国产精品一区二区手机看片 | 一级毛片免费毛片一级毛片免费 | 久久99精品国产 | gogogo高清在线观看视频 | 久久亚洲国产最新网站 | 日本最新免费二区三区 | 国产小视频你懂的 | 国产精品特级毛片一区二区三区 | 久久经典| 精品在线看 | 毛片在线观看地址 | 欧美中文综合在线视频 | 免费的视频网站入口 | 日韩中文字幕在线不卡 | 国产在线视频福利 | 99久久er热在这里都是精品99 | 婷婷激情五月 |