js設(shè)計(jì)模式與開發(fā)實(shí)踐pdf下載 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

您的位置: 首頁教育教學(xué)電子圖書 → JavaScript設(shè)計(jì)模式與開發(fā)實(shí)踐pdf 高清pdf電子版

JavaScript設(shè)計(jì)模式與開發(fā)實(shí)踐pdf

高清pdf電子版 JavaScript設(shè)計(jì)模式與開發(fā)實(shí)踐pdf 網(wǎng)友評(píng)分:8

同類相關(guān)軟件

軟件介紹

軟件標(biāo)簽: JavaScript 權(quán)威指南

javascript設(shè)計(jì)模式與開發(fā)實(shí)踐pdf是一款專門為javascript愛好者和學(xué)習(xí)者提供的pdf版本,讓用戶更好更快捷地使用pdf閱讀器wps文件進(jìn)行電腦閱讀,讓你的javascript知識(shí)快速提升,有需要的朋友們歡迎下載!

內(nèi)容介紹

本書在尊重《設(shè)計(jì)模式》原意的同時(shí),針對(duì)JavaScript語言特性全面介紹了更適合JavaScript程序員的了16個(gè)常用的設(shè)計(jì)模式,講解了JavaScript面向?qū)ο蠛秃瘮?shù)式編程方面的基礎(chǔ)知識(shí),介紹了面向?qū)ο蟮脑O(shè)計(jì)原則及其在設(shè)計(jì)模式中的體現(xiàn),還分享了面向?qū)ο缶幊碳记珊腿粘i_發(fā)中的代碼重構(gòu)。本書將教會(huì)你如何把經(jīng)典的設(shè)計(jì)模式應(yīng)用到JavaScript語言中,編寫出優(yōu)美高效、結(jié)構(gòu)化和可維護(hù)的代碼。

JavaScript設(shè)計(jì)模式與開發(fā)實(shí)踐pdf目錄

第一部分 基礎(chǔ)知識(shí)

第1章 面向?qū)ο蟮腏avaScript

1.1 動(dòng)態(tài)類型語言和鴨子類型  2

1.2 多態(tài)  4

1.3 封裝  12

1.4 原型模式和基于原型繼承的JavaScript對(duì)象系統(tǒng)  14

第2章 this、call和apply

2.1 this  24

2.2 call和apply  29

第3章 閉包和高階函數(shù)

3.1 閉包 35

3.2 高階函數(shù)  44

3.3 小結(jié)  58

第二部分 設(shè)計(jì)模式

第4章 單例模式

4.1 實(shí)現(xiàn)單例模式  60

4.2 透明的單例模式  61

4.3 用代理實(shí)現(xiàn)單例模式  62

4.4 JavaScript中的單例模式  63

4.5 惰性單例  65

4.6 通用的惰性單例  68

4.7 小結(jié)  70

第5章 策略模式

5.1 使用策略模式計(jì)算獎(jiǎng)金  72

5.2 JavaScript 版本的策略模式  75

5.3 多態(tài)在策略模式中的體現(xiàn)  76

5.4 使用策略模式實(shí)現(xiàn)緩動(dòng)動(dòng)畫  76

5.5 更廣義的“算法”  80

5.6 表單校驗(yàn)  80

5.7 策略模式的優(yōu)缺點(diǎn)  86

5.8 一等函數(shù)對(duì)象與策略模式  86

5.9 小結(jié)  87

第6章 代理模式

6.1 第一個(gè)例子——小明追MM的故事  88

6.2 保護(hù)代理和虛擬代理  91

6.3 虛擬代理實(shí)現(xiàn)圖片預(yù)加載  91

6.4 代理的意義  93

6.5 代理和本體接口的一致性  94

6.6 虛擬代理合并HTTP 請(qǐng)求  95

6.7 虛擬代理在惰性加載中的應(yīng)用  97

6.8 緩存代理  99

6.9 用高階函數(shù)動(dòng)態(tài)創(chuàng)建代理  100

6.10 其他代理模式  101

6.11 小結(jié)  102

第7章 迭代器模式

7.1 JQuery 中的迭代器  103

7.2 實(shí)現(xiàn)自己的迭代器  104

7.3 內(nèi)部迭代器和外部迭代器  104

7.4 迭代類數(shù)組對(duì)象和字面量對(duì)象  106

7.5 倒序迭代器  106

7.6 中止迭代器  107

7.7 迭代器模式的應(yīng)用舉例  107

7.8 小結(jié)  109

第8章 發(fā)布—訂閱模式

8.1 現(xiàn)實(shí)中的發(fā)布—訂閱模式  110

8.2 發(fā)布—訂閱模式的作用  110

8.3 DOM 事件  111

8.4 自定義事件  112

8.5 發(fā)布—訂閱模式的通用實(shí)現(xiàn)  113

8.6 取消訂閱的事件  115

8.7 真實(shí)的例子——網(wǎng)站登錄  115

8.8 全局的發(fā)布—訂閱對(duì)象  117

8.9 模塊間通信  119

8.10 必須先訂閱再發(fā)布嗎  120

8.11 全局事件的命名沖突  121

8.12 JavaScript實(shí)現(xiàn)發(fā)布—訂閱模式的便利性  124

8.13 小結(jié)  124

第9章 命令模式

9.1 命令模式的用途  125

9.2 命令模式的例子——菜單程序  126

9.3 JavaScript中的命令模式  128

9.4 撤銷命令  130

9.5 撤消和重做  132

9.6 命令隊(duì)列  134

9.7 宏命令  134

9.8 智能命令與傻瓜命令  135

9.9 小結(jié)  136

第10章 組合模式

10.1 回顧宏命令  138

10.2 組合模式的用途  139

10.3 請(qǐng)求在樹中傳遞的過程  139

10.4 更強(qiáng)大的宏命令  140

10.5 抽象類在組合模式中的作用  143

10.6 透明性帶來的安全問題  144

10.7 組合模式的例子——掃描文件夾  145

10.8 一些值得注意的地方  147

10.9 引用父對(duì)象  148

10.10 何時(shí)使用組合模式  150

10.11 小結(jié)  150

第11章 模板方法模式

11.1 模板方法模式的定義和組成  151

11.2 第一個(gè)例子——Coffee or Tea  151

11.3 抽象類  156

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

11.5 鉤子方法  160

11.6 好萊塢原則  162

11.7 真的需要“繼承”嗎  162

11.8 小結(jié)  164

第12章 享元模式

12.1 初識(shí)享元模式  165

12.2 內(nèi)部狀態(tài)與外部狀態(tài)  166

12.3 享元模式的通用結(jié)構(gòu)  167

12.4 文件上傳的例子  167

12.5 享元模式的適用性  173

12.6 再談內(nèi)部狀態(tài)和外部狀態(tài)  173

12.7 對(duì)象池  175

12.8 小結(jié)  178

第13章 職責(zé)鏈模式

13.1 現(xiàn)實(shí)中的職責(zé)鏈模式  179

13.2 實(shí)際開發(fā)中的職責(zé)鏈模式  180

13.3 用職責(zé)鏈模式重構(gòu)代碼  181

13.4 靈活可拆分的職責(zé)鏈節(jié)點(diǎn)  183

13.5 異步的職責(zé)鏈  184

13.6 職責(zé)鏈模式的優(yōu)缺點(diǎn)  185

13.7 用AOP 實(shí)現(xiàn)職責(zé)鏈  186

13.8 用職責(zé)鏈模式獲取文件上傳對(duì)象  187

13.9 小結(jié)  188

第14章 中介者模式

14.1 現(xiàn)實(shí)中的中介者  190

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

14.3 中介者模式的例子——購買商品  199

14.4 小結(jié)  207

第15章 裝飾者模式

15.1 模擬傳統(tǒng)面向?qū)ο笳Z言的裝飾者模式  210

15.2 裝飾者也是包裝器  211

15.3 回到JavaScript 的裝飾者  212

15.4 裝飾函數(shù)  212

15.5 用AOP 裝飾函數(shù)  214

15.6 AOP 的應(yīng)用實(shí)例  216

15.7 裝飾者模式和代理模式  222

15.8 小結(jié)  223

第16章 狀態(tài)模式

16.1 初識(shí)狀態(tài)模式  224

16.2 狀態(tài)模式的定義  230

16.3 狀態(tài)模式的通用結(jié)構(gòu)  230

16.4 缺少抽象類的變通方式   231

16.5 另一個(gè)狀態(tài)模式示例——文件上傳  232

16.6 狀態(tài)模式的優(yōu)缺點(diǎn)  241

16.7 狀態(tài)模式中的性能優(yōu)化點(diǎn)  241

16.8 狀態(tài)模式和策略模式的關(guān)系  241

16.9 JavaScript版本的狀態(tài)機(jī)  242

16.10 表驅(qū)動(dòng)的有限狀態(tài)機(jī)  244

16.11 實(shí)際項(xiàng)目中的其他狀態(tài)機(jī)  245

16.12 小結(jié)  245

第17章 適配器模式

17.1 現(xiàn)實(shí)中的適配器  246

17.2 適配器模式的應(yīng)用  247

17.3 小結(jié)  250

第三部分 設(shè)計(jì)原則和編程技巧

第18章 單一職責(zé)原則

18.1 設(shè)計(jì)模式中的SRP原則  252

18.2 何時(shí)應(yīng)該分離職責(zé)  256

18.3 違反SRP原則  256

18.4 SRP 原則的優(yōu)缺點(diǎn)  257

第19章 最少知識(shí)原則

19.1 減少對(duì)象之間的聯(lián)系  258

19.2 設(shè)計(jì)模式中的LKP原則  259

19.3 封裝在LKP 原則中的體現(xiàn)  261

第20章 開放-封閉原則

20.1 擴(kuò)展window.onload函數(shù)  263

20.2 開放和封閉  264

20.3 用對(duì)象的多態(tài)性消除條件分支  265

20.4 找出變化的地方  266

20.5 設(shè)計(jì)模式中的開放—封閉原則  268

20.6 開放—封閉原則的相對(duì)性  270

20.7 接受第一次愚弄  270

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

21.1 回到Java的抽象類  271

21.2 interface  276

21.3 JavaScript 語言是否需要抽象類和interface  275

21.4 用鴨子類型進(jìn)行接口檢查  277

21.5 用TypeScript 編寫基于interface的命令模式  278

第22章 代碼重構(gòu)

22.1 提煉函數(shù)  282

22.2 合并重復(fù)的條件片段  283

22.3 把條件分支語句提煉成函數(shù)  284

22.4 合理使用循環(huán)  285

22.5 提前讓函數(shù)退出代替嵌套條件分支  285

22.6 傳遞對(duì)象參數(shù)代替過長的參數(shù)列表  286

22.7 盡量減少參數(shù)數(shù)量  287

22.8 少用三目運(yùn)算符  288

22.9 合理使用鏈?zhǔn)秸{(diào)用  288

22.10 分解大型類  289

22.11 用return退出多重循環(huán)  290

軟件截圖

下載地址 電腦版

用戶評(píng)論

熱門評(píng)論

最新評(píng)論

發(fā)表評(píng)論 查看所有評(píng)論(0)

昵稱:
請(qǐng)不要評(píng)論無意義或臟話,我們所有評(píng)論會(huì)有人工審核.
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)