JavaScript 設計模式
內容描述
<內容簡介>
《JavaScript設計模式》共分六篇四十章,首先討論了幾種函數的編寫方式,體會JavaScript在編程中的靈活性;然後講解了面向對象編程的知識,其中討論了類的創建、數據的封裝以及類之間的繼承;最後探討了各種模式的技術,如簡單工廠模式,包括工廠方法模式、抽象工廠模式、建造者模式、原型模式、單例模式,以及外觀模式,包括適配器模式。本書還講解了幾種適配器、代理模式、裝飾者模式和MVC模式,討論瞭如何實現對數據、視圖、控制器的分離。在講解MVP模式時,討論瞭如何解決數據與視圖之間的耦合,並實現了一個模板生成器;講解MVVM模式時,討論了雙向綁定對MVC的模式演化。本書幾乎包含了關於JavaScript設計模式的全部知識,是進行JavaScript高效編程必備的學習手冊。
《JavaScript設計模式》適合JavaScript初學者、前端設計者、JavaScript程序員學習,也可以作為大專院校相關專業師生的學習用書,以及培訓學校的教材。
<目錄>
第一篇面向對象編程
第1章靈活的語言——JavaScript2
1.1入職第一天2
1.2函數的另一種形式2
1.3用對象收編變量3
1.4對象的另一種形式4
1.5真假對象4
1.6類也可以5
1.7一個檢測類5
1.8方法還可以這樣用6
1.9函數的祖先7
1.10可以鍊式添加嗎8
1.11換一種方式使用方法9
下章劇透10
憶之獲10
我問你答10
第2章寫的都是看到的——面向
對象編程11
2.1兩種編程風格——面向過程與
面向對象11
2.2包裝明星——封裝12
2.3傳宗接代——繼承19
2.4老師不止一位——多繼承27
2.5多種調用方式——多態29
下章劇透30
憶之獲31
我問你答31
第二篇創建型設計模式
第3章神奇的魔術師——簡單工廠模式34
3.1工作中的第一次需求34
3.2如果類太多,那麼提供一個35
3.3一個對像有時也可代替許多類37
3.4你的理解決定你選擇的方式38
下章劇透39
憶之獲39
我問你答39
第4章給我一張名片——工廠方法模式40
4.1廣告展現40
4.2方案的抉擇41
4.3安全模式類42
4.4安全的工廠方法43
下章劇透44
憶之獲44
我問你答44
第5章出現的都是幻覺——抽象
工廠模式45
5.1帶頭模範——抽像類45
5.2幽靈工廠——抽象工廠模式46
5.3抽象與實現47
下章劇透49
憶之獲49
我問你答49
第6章分即是合——建造者模式50
6.1發布簡歷50
6.2創建對象的另一種形式50
6.3創建一位應聘者52
下章劇透53
憶之獲53
我問你答54
第7章語言之魂— —原型模式55
7.1語言中的原型55
7.2創建一個焦點圖55
7.3最優的解決方案56
7.4原型的拓展58
7.5原型繼承58
下章劇透59
憶之獲60
我問你答60
第8章一個人的寂寞——單例模式61
8.1滑動特效61
8.2命名空間的管理員62
8.3模塊分明63
8.4創建一個小型代碼庫63
8.5無法修改的靜態變量64
8.6惰性單例65
下章劇透65
憶之獲66
我問你答66
第三篇結構型設計模式
第9章套餐服務——外觀模式68
9.1添加一個點擊事件68
9.2兼容方式69
9.3除此之外70
9.4小型代碼庫70
下章劇透71
憶之獲71
我問你答72
第10章水管彎彎——適配器模式73
10.1引入jQuery73
10.2生活中的適配器73
10.3 jQuery適配器74
10.4適配異類框架74
10.5參數適配器75
10.6數據適配76
10.7服務器端數據適配77
下章劇透77
憶之獲77
我問你答78
第11章牛郎織女——代理模式79
11.1無法獲取圖片上傳模塊數據79
11.2一切只因跨域79
11.3站長統計80
11.4 JSONP81
11.5代理模板81
下章劇透83
憶之獲83
我問你答84
第12章房子裝修——裝飾者模式85
12.1為輸入框的新需求85
12.2裝飾已有的功能對象86
12.3為輸入框添磚加瓦86
下章劇透87
憶之獲87
我問你答88
第13章城市間的公路——橋接模式89
13.1添加事件交互89
13.2提取共同點90
13.3事件與業務邏輯之間的橋樑90
13.4多元化對象91
下章劇透93
憶之獲93
我問你答93
第14章超值午餐——組合模式94
14.1新聞模塊十萬火急94
14.2餐廳裡的套餐業務95
14.3每個成員要有祖先95
14.4組合要有容器類96
14.5創建一個新聞類97
14.6把新聞模塊創建出來99
14.7表單中的應用100
下章劇透101
憶之獲101
我問你答102
第15章城市公交車——享元模式103
15.1翻頁需求103
15.2冗餘的結構104
15.3享元對象104
15.4實現需求105
15.5享元動作106
下章劇透108
憶之獲108
我問你答108
第四篇行為型設計模式
第16章照貓畫虎— —模板方法模式110
16.1提示框歸一化110
16.2美味的蛋糕111
16.3創建基本提示框111
16.4模板的原型方法112
16.5根據模板創建類113
16.6繼承類也可作為模板類113
16.7創建一個提示框114
16.8創建多類導航114
16.9創建導航更容易116
下章劇透116
憶之獲116
我問你答117
第17章通信衛星——觀察者模式118
17.1團隊開發的坎坷118
17.2衛星的故事118
17.3創建一個觀察者119
17.4拉出來溜溜121
17.5使用前的思考121
17.6大顯身手121
17.7對象間解耦123
17.8課堂演練124
下章劇透125
憶之獲125
我問你答125
第18章超級瑪麗——狀態模式126
18.1最美圖片126
18.2分支判斷的思考126
18.3狀態對象的實現127
18.4狀態對象演練127
18.5超級瑪麗128
18.6狀態的優化129
18.7兩種使用方式130
下章劇透131
憶之獲131
我問你答131
第19章活諸葛——策略模式132
19.1商品促銷132
19.2活諸葛132
19.3策略對象133
19.4諸葛奇謀133
19.5緩衝函數134
19.6表單驗證134
19.7算法拓展135
19.8算法調用135
下章劇透136
憶之獲136
我問你答137
第20章有序車站——職責鏈模式138
20.1“半成品”需求138
20.2分解需求139
20.3第一站——請求模塊139
20.4下一站——響應數據適配模塊140
20.5終點站——創建組件模塊141
20.6站點檢測——單元測試141
20.7方案確定142
下章劇透142
憶之獲143
我問你答143
第21章命令模式144
21.1自由化創建視圖144
21.2命令對象145
21.3視圖創建145
21.4視圖展示146
21.5命令接口147
21.6大功告成147
21.7繪圖命令148
21.8寫一條命令150
下章劇透150
憶之獲151
我問你答151
第22章駐華大使——訪問者模式152
22.1設置樣式152
22.2自娛自樂的IE152
22.3訪問操作元素153
22.4事件自定義數據153
22.5原生對象構造器154
22.6對象訪問器154
22.7操作類數組155
下章劇透156
憶之獲156
我問你答156
第23章媒婆——中介者模式157
23.1導航設置層157
23.2創建中介者對象158
23.3試試看,可否一用159
23.4攻剋需求159
23.5訂閱消息160
23.6發布消息161
下章劇透162
憶之獲162
我問你答162
第24章做好筆錄——備忘錄模式163
24.1新聞展示163
24.2緩存數據164
24.3新聞緩存器164
24.4工作中的備忘錄166
下章劇透166
憶之獲166
我問你答166
第25章點鈔機——迭代器模式167
25.1簡化循環遍歷167
25.2迭代器167
25.3實現迭代器168
25.4小試牛刀170
25.5數組迭代器171
25.6對象迭代器171
25.7試用迭代器172
25.8同步變量迭代器172
25.9分支循環嵌套問題174
25.10解決方案176
下章劇透177
憶之獲177
我問你答177
第26章語言翻譯——解釋器模式178
26.1統計元素路徑178
26.2描述文法179
26.3解釋器179
26.4同級兄弟元素遍歷180
26.5遍歷文檔樹180
26.6小試牛刀181
下章劇透182
憶之獲182
我問你答182
……
第五篇技巧型設計模式
第六篇架構型設計模式
附錄A