JavaScript設計模式 JavaScript设计模式
奧斯馬尼 (Addy Osmani)
- 出版商: 人民郵電
- 出版日期: 2013-06-01
- 售價: $294
- 語言: 簡體中文
- 頁數: 241
- 裝訂: 平裝
- ISBN: 7115314543
- ISBN-13: 9787115314543
- 
    相關分類:
    
      JavaScript、Design Pattern 
 
- 此書翻譯自: Learning JavaScript Design Patterns (Paperback)
已絕版
買這商品的人也買了...
- 
                
                   深入淺出設計模式 (Head First Design Patterns) 深入淺出設計模式 (Head First Design Patterns)$880$695
- 
                
                   JavaScript 設計模式 (JavaScript Patterns) JavaScript 設計模式 (JavaScript Patterns)$480$379
- 
                
                   $414DevOps 實戰:VMware 管理員運維方法、工具及最佳實踐 $414DevOps 實戰:VMware 管理員運維方法、工具及最佳實踐
- 
                
                   你所不知道的 JS|導讀,型別與文法 (You Don't Know JS: Up & Going) 你所不知道的 JS|導讀,型別與文法 (You Don't Know JS: Up & Going)$520$411
- 
                
                   JavaScript 設計模式 JavaScript 設計模式$354$336
- 
                
                   你所不知道的 JS|範疇與 Closures,this 與物件原型 (You Don't Know JS: this & Object Prototypes) 你所不知道的 JS|範疇與 Closures,this 與物件原型 (You Don't Know JS: this & Object Prototypes)$520$411
- 
                
                   $294敏捷軟件測試 : 測試人員與敏捷團隊的實踐指南 $294敏捷軟件測試 : 測試人員與敏捷團隊的實踐指南
- 
                
                   網頁就是這麼疊出來的!企劃與設計人員都該懂的版型X模組X樣式設計架構 網頁就是這麼疊出來的!企劃與設計人員都該懂的版型X模組X樣式設計架構$380$300
- 
                
                   $534Jenkins 權威指南 $534Jenkins 權威指南
- 
                
                   你所不知道的 JS|ES6 與未來發展 (You Don't Know JS: ES6 & Beyond) 你所不知道的 JS|ES6 與未來發展 (You Don't Know JS: ES6 & Beyond)$520$411
- 
                
                   $294Nmap 滲透測試指南 $294Nmap 滲透測試指南
- 
                
                   $199Python 設計模式, 2/e (Learning Python Design Patterns, 2/e) $199Python 設計模式, 2/e (Learning Python Design Patterns, 2/e)
- 
                
                   React 入門開發實務 React 入門開發實務$520$411
- 
                
                   R 資料科學 (R for Data Science) R 資料科學 (R for Data Science)$780$616
- 
                
                   $294微軟因特網信息服務(IIS)最佳實踐 (The Best Practices for Microsoft internet information Services) $294微軟因特網信息服務(IIS)最佳實踐 (The Best Practices for Microsoft internet information Services)
- 
                
                   為你自己學 Git 為你自己學 Git$500$425
- 
                
                   $301DevOps 開發運維訓練營 $301DevOps 開發運維訓練營
- 
                
                   $474大規模 Scrum:大規模敏捷組織的設計 $474大規模 Scrum:大規模敏捷組織的設計
- 
                
                   從零開始學架構:照著做,你也能成為架構師 從零開始學架構:照著做,你也能成為架構師$594$564
- 
                
                   GraphQL 學習手冊 (Learning GraphQL : Declarative Data Fetching for Modern Web Apps) GraphQL 學習手冊 (Learning GraphQL : Declarative Data Fetching for Modern Web Apps)$520$411
- 
                
                   重構|改善既有程式的設計, 2/e (繁中平裝版)(Refactoring: Improving The Design of Existing Code, 2/e) 重構|改善既有程式的設計, 2/e (繁中平裝版)(Refactoring: Improving The Design of Existing Code, 2/e)$800$632
- 
                
                   0 陷阱!0 誤解!8 天重新認識 JavaScript!(iT邦幫忙鐵人賽系列書) 0 陷阱!0 誤解!8 天重新認識 JavaScript!(iT邦幫忙鐵人賽系列書)$550$468
- 
                
                   $246Python數據分析與應用:從數據獲取到可視化 $246Python數據分析與應用:從數據獲取到可視化
- 
                
                   $387JavaScript 高級程序設計, 4/e (Professional JavaScript for Web Developers, 4/e) $387JavaScript 高級程序設計, 4/e (Professional JavaScript for Web Developers, 4/e)
- 
                
                   重新認識 Vue.js:008天絕對看不完的 Vue.js 3 指南 重新認識 Vue.js:008天絕對看不完的 Vue.js 3 指南$600$468
商品描述
<內容介紹>
設計模式是解決軟件設計中常見問題的可複用方案。學習任何編程語言,設計模式都是一個令人興奮和極具吸引力的話題。
  《JavaScript設計模式》是JavaScript設計模式的學習指南。全書分為14章。首先介紹了什麼是模式、模式的結構、類別、模式的分類、如何編寫模式等等;然後,集中介紹了很多流行的設計模式在JavaScript中的應用,包括Module(模塊)模式、Observer(觀察者)模式、Facade(外觀)模式和Mediator(中介者)模式;最後,還探討了模塊化的JavaScript模式、jQuery及其插件中的設計模式。
  《JavaScript設計模式》適合專業的Web開發人員和前端工程師閱讀。通過閱讀本書,他們將能夠提高對設計模式的認識,並學會如何將設計模式應用到JavaScript編程語言中。
<章節目錄>
第1章介紹1 
第2章什麼是模式3 
我們每天都在使用模式4 
第3章模式狀態測試、Proto模式及三法則6 
第4章設計模式的結構8 
第5章編寫設計模式11 
第6章反模式13 
第7章設計模式類別15 
第8章設計模式分類17 
有關類(Class)的要點17 
第9章JavaScript設計模式20 
9.1Constructor(構造器)模式21 
9.1.1對象創建21 
9.1.2基本Constructor(構造器) 23 
9.1.3帶原型的Constructor(構造器) 24 
9.2Module(模塊)模式25 
9.2.1對象字面量25 
9.2.2Module(模塊)模式27 
9.2.3Module模式變化31 
9.3RevealingModule(揭示模塊)模式36 
9.3.1優點38 
9.3.2缺點38 
9.4Singleton(單例)模式38 
9.5Observer(觀察者)模式42 
9.5.1Observer(觀察者)模式和Publish/Subscribe(發布/訂閱)模式的區別47 
9.5.2優點49 
9.5.3缺點49 
9.5.4Publish/Subscribe實現49 
9.6Mediator(中介者)模式59 
9.6.1基本實現60 
9.6.2高級實現61 
9.6.3示例67 
9.6.4優點和缺點68 
9.6.5中介者(Mediator)與觀察者(Observer) 69 
9.6.6中介者(Mediator)與外觀(Facade) 69 
9.7Prototype(原型)模式70 
9.8Command(命令)模式73 
9.9Facade(外觀)模式75 
有關抽象的要點78 
9.10Factory(工廠)模式78 
9.10.1何時使用Factory模式81 
9.10.2何時不應使用Factory模式81 
9.10.3AbstractFactory(抽象工廠) 81 
9.11Mixin模式82 
9.11.1子類化83 
9.11.2Mixin(混入) 84 
9.12Decorator(裝飾者)模式88 
9.12.1偽經典Decorator(裝飾者) 91 
9.12.2使用jQuery的裝飾者96 
9.12.3優點和缺點97 
9.13Flyweight(享元)模式98 
9.13.1使用Flyweight模式98 
9.13.2Flyweight和共享數據99 
9.13.3實現經典Flyweight(享元) 99 
9.13.4轉換代碼以使用Flyweight(享元)模式103 
9.13.5基本工廠105 
9.13.6管理外部狀態106 
9.13.7Flyweight(享元)模式和DOM 107 
第10章JavaScriptMV*模式112 
10.1MVC 112 
Smalltalk—80MVC 113 
10.2為JavaScript開發人員提供的MVC 114 
10.2.1Model(模型) 114 
10.2.2View(視圖) 116 
10.2.3Controller(控制器) 119 
10.2.4Spine.js與Backbone.js 120 
10.3MVC為我們提供了什麼122 
10.4JavaScript中的Smalltalk—80MVC 122 
10.4.1深入挖掘123 
10.4.2總結123 
10.5MVP 124 
10.5 .1Model、View和Presenter 124 
10.5.2MVP或MVC?125 
10.5.3MVC、MVP和Backbone.js 126 
10.6MVVM 128 
10.6.1歷史129 
10.6.2Model 129 
10.6.3View 130 
10.6.4ViewModel 133 
10.6.5小結:View和ViewModel 135 
10.6.6小結:ViewModel和Model 135 
10.7利與弊135 
10.7.1優點135 
10.7.2缺點136 
10.8使用更鬆散數據綁定的MVVM 136 
10.9MVC、MVP與MVVM 141 
10.10Backbone.js與KnockoutJS 142 
第11章模塊化的JavaScript設計模式144 
11.1腳本加載器要點145 
11.2AMD 145 
11.2.1模塊入門146 
11.2.2使用Dojo的AMD模塊150 
11.2.3AMD模塊設計模式(Dojo) 151 
11.2.4使用jQuery的AMD模塊152 
11.2.5AMD總結155 
11.3CommonJS 155 
11.3 .1入門指南156 
11.3.2使用多個依賴157 
11.3.3支持CommonJS的加載器和框架158 
11.3.4CommonJS適用於瀏覽器嗎?158 
11.3.5延伸閱讀159 
11.4AMD和CommonJS:互相競爭,標準同效159 
UMD:用於插件的AMD和CommonJS兼容模塊160 
11.5ESHarmony 165 
11.5.1具有Imports和Exports的模塊166 
11.5.2從遠程數據源加載的模塊167 
11.5.3模塊加載器API 167 
11.5.4用於服務器的類CommonJS模塊168 
11.5.5具有構造函數、getter和setter的類168 
11.5.6ESHarmony總結169 
11.5.7延伸閱讀170 
11.6總結170 
第12章jQuery中的設計模式171 
12.1Composite(組合)模式171 
12.2Adapter(適配器)模式173 
12.3Facade(外觀)模式174 
12.4Observer(觀察者)模式177 
12.5Iterator(迭代器)模式180 
12.6延遲初始化181 
12.7Proxy(代理)模式183 
12.8Builder(生成器)模式184 
第13章jQuery插件設計模式187 
13.1模式188 
13.2LightweightStart模式189 
延伸閱讀191 
13.3完整的WidgetFactory模式191 
延伸閱讀194 
13.4嵌套命名空間插件模式194 
延伸閱讀196 
13.5自定義事件插件模式(使用WidgetFactory) 196 
延伸閱讀198 
13.6使用DOM—to—ObjectBridge模式的原型繼承198 
延伸閱讀200 
13.7jQuery UI Widget Factory Bridge模式200 
延伸閱讀203 
13.8使用WidgetFactory的jQuery Mobile Widget 203 
13.9RequireJS和jQuery UI Widget Factory 206 
13.9.1用法208 
13.9.2延伸閱讀209 
13.10全局選項和單次調用可重寫選項(最佳選項模式) 209 
延伸閱讀211 
13.11高可配和高可變的插件模式211 
延伸閱讀213 
13.12是什麼使插件超越模式213 
13.12.1質量214 
13.12.2代碼風格214 
13.12.3兼容性214 
13.12.4可靠性214 
13.12.5性能214 
13.12.6文檔215 
13.12. 7維護的可能性215 
13.13總結215 
13.14命名空間模式215 
13.15命名空間基礎216 
13.15.1單一全局變量216 
13.15.2命名空間前綴217 
13.15.3對象字面量表示法217 
13.15.4嵌套命名空間221 
13.15.5立即調用的函數表達式(IIFE) 222 
13.15.6命名空間註入224 
13.16高級命名空間模式226 
13.16.1自動嵌套的命名空間227 
13.16.2依賴聲明模式229 
13.16.3深度對象擴展229 
13.16.4推薦232 
第14章總結233 
附錄參考文獻235

 
     
     
     
    
 
    
 
    
 
     
     
    