設(shè)計(jì)模式是解決軟件設(shè)計(jì)中常見問題的可復(fù)用方案。學(xué)習(xí)任何編程語言,設(shè)計(jì)模式都是一個(gè)令人興奮和具有吸引力的話題。
《JavaScript設(shè)計(jì)模式》是JavaScript設(shè)計(jì)模式的學(xué)習(xí)指南。全書分為14章。首先介紹了什么是模式、模式的結(jié)構(gòu)、類別、模式的分類、如何編寫模式等等;然后,集中介紹了很多流行的設(shè)計(jì)模式在JavaScript中的應(yīng)用,包括Module(模塊)模式、Observer(觀察者)模式、Facade(外觀)模式和Mediator(中介者)模式;,還探討了模塊化的JavaScript模式、jQuery及其插件中的設(shè)計(jì)模式。
《JavaScript設(shè)計(jì)模式》適合專業(yè)的Web開發(fā)人員和前端工程師閱讀。通過閱讀本書,他們將能夠提高對(duì)設(shè)計(jì)模式的認(rèn)識(shí),并學(xué)會(huì)如何將設(shè)計(jì)模式應(yīng)用到JavaScript編程語言中。
JavaScript設(shè)計(jì)模式教你如何學(xué)會(huì)把經(jīng)典和現(xiàn)代設(shè)計(jì)模式應(yīng)用到JavaScript語言中,來編寫優(yōu)美、結(jié)構(gòu)化和可維護(hù)的代碼。如果想讓代碼保持高效、更易于管理,并且能夠同步的實(shí)踐,那么JavaScript設(shè)計(jì)模式正是為你打造的。
第1章介紹
第2章什么是模式
我們每天都在使用模式
第3章模式狀態(tài)測(cè)試、Proto模式及三法則
第4章設(shè)計(jì)模式的結(jié)構(gòu)
第5章編寫設(shè)計(jì)模式
第6章反模式
第7章設(shè)計(jì)模式類別
第8章設(shè)計(jì)模式分類
有關(guān)類(Class)的要點(diǎn)
第9章 JavaScript設(shè)計(jì)模式
9.1 Constructor(構(gòu)造器)模式
9.1.1 對(duì)象創(chuàng)建
9.1.2 基本Constructor(構(gòu)造器)
9.1.3 帶原型的Constructor(構(gòu)造器)
9.2 Module(模塊)模式
9.2.1 對(duì)象字面量
9.2.2 Module(模塊)模式
9.2.3 Module模式變化
9.3 Revealing Module(揭示模塊)模式
9.3.1 優(yōu)點(diǎn)
9.3.2 缺點(diǎn)
9.4 Singleton(單例)模式
9.5 Observer(觀察者)模式
9.5.1 Observer(觀察者)模式和Publish/Subscribe(/訂閱)模式的區(qū)別
9.5.2 優(yōu)點(diǎn)
9.5.3 缺點(diǎn)
9.5.4 Publish/Subscribe實(shí)現(xiàn)
9.6 Mediator(中介者)模式
9.6.1 基本實(shí)現(xiàn)
9.6.2 高級(jí)實(shí)現(xiàn)
9.6.3 示例
9.6.4 優(yōu)點(diǎn)和缺點(diǎn)
9.6.5 中介者(Mediator)與觀察者(Observer)
9.6.6 中介者(Mediator)與外觀(Facade)
9.7 Prototype(原型)模式
9.8 Command(命令)模式
9.9 Facade(外觀)模式
有關(guān)抽象的要點(diǎn)
9.10 Factory(工廠)模式
9.10.1 何時(shí)使用Factory模式
9.10.2 何時(shí)不應(yīng)使用Factory模式
9.10.3 Abstract Factory(抽象工廠)
9.11 Mixin模式
9.11.1 子類化
9.11.2 Mixin(混入)
9.12 Decorator(裝飾者)模式
9.12.1 偽經(jīng)典Decorator(裝飾者)
9.12.2 使用jQuery的裝飾者
9.12.3 優(yōu)點(diǎn)和缺點(diǎn)
9.13 Flyweight(享元)模式
9.13.1 使用Flyweight模式
9.13.2 Flyweight和共享數(shù)據(jù)
9.13.3 實(shí)現(xiàn)經(jīng)典Flyweight(享元)
9.13.4 轉(zhuǎn)換代碼以使用Flyweight(享元)模式
9.13.5 基本工廠
9.13.6 管理外部狀態(tài)
9.13.7 Flyweight(享元)模式和DOM
第10章JavaScript MV模式
10.1 MVC
Smalltalk-80 MVC
10.2 為JavaScript開發(fā)人員提供的MVC
10.2.1 Model(模型)
10.2.2 View(視圖)
10.2.3 Controller(控制器)
10.2.4 Spine.js與Backbone.js
10.3 MVC為我們提供了什么
10.4 JavaScript中的Smalltalk-80 MVC
10.4.1 深入挖掘
10.4.2 總結(jié)
10.5 MVP
10.5.1 Model、View和Presenter
10.5.2 MVP或MVC?
10.5.3 MVC、MVP和Backbone.js
10.6 MVVM
10.6.1 歷史
10.6.2 Model
10.6.3 View
10.6.4 ViewModel
10.6.5 小結(jié):View和ViewModel
10.6.6 小結(jié):ViewModel和Model
10.7 利與弊
10.7.1 優(yōu)點(diǎn)
10.7.2 缺點(diǎn)
10.8 使用更松散數(shù)據(jù)綁定的MVVM
10.9 MVC、MVP與MVVM
10.10 Backbone.js與KnockoutJS
第11章 模塊化的JavaScript設(shè)計(jì)模式
11.1 腳本加載器要點(diǎn)
11.2 AMD
11.2.1 模塊入門
11.2.2 使用Dojo的AMD模塊
11.2.3 AMD模塊設(shè)計(jì)模式(Dojo)
11.2.4 使用jQuery的AMD模塊
11.2.5 AMD總結(jié)
11.3 CommonJS
11.3.1 入門指南
11.3.2 使用多個(gè)依賴
11.3.3 支持CommonJS的加載器和框架
11.3.4 CommonJS適用于瀏覽器嗎?
11.3.5 延伸閱讀
11.4 AMD和CommonJS:互相競(jìng)爭(zhēng),標(biāo)準(zhǔn)同效
UMD:用于插件的AMD和CommonJS兼容模塊
11.5 ES Harmony
11.5.1 具有Imports和Exports的模塊
11.5.2 從遠(yuǎn)程數(shù)據(jù)源加載的模塊
11.5.3 模塊加載器API
11.5.4 用于服務(wù)器的類CommonJS模塊
11.5.5 具有構(gòu)造函數(shù)、getter和setter的類
11.5.6 ES Harmony總結(jié)
11.5.7 延伸閱讀
11.6 總結(jié)
第12章 jQuery中的設(shè)計(jì)模式
12.1 Composite(組合)模式
12.2 Adapter(適配器)模式
12.3 Facade(外觀)模式
12.4 Observer(觀察者)模式
12.5 Iterator(迭代器)模式
12.6 延遲初始化
12.7 Proxy()模式
12.8 Builder(生成器)模式
第13章 jQuery插件設(shè)計(jì)模式
13.1 模式
13.2 Lightweight Start模式
延伸閱讀
13.3 完整的Widget Factory模式
延伸閱讀
13.4 嵌套命名空間插件模式
延伸閱讀
13.5 自定義事件插件模式(使用Widget Factory)
延伸閱讀
13.6 使用DOM-to-Object Bridge模式的原型繼承
延伸閱讀
13.7 jQuery UI Widget Factory Bridge模式
延伸閱讀
13.8 使用Widget Factory的jQuery Mobile Widget
13.9 RequireJS和jQuery UI Widget Factory
13.9.1 用法
13.9.2 延伸閱讀
13.10 全局選項(xiàng)和單次調(diào)用可重寫選項(xiàng)(選項(xiàng)模式)
延伸閱讀
13.11 高可配和高可變的插件模式
延伸閱讀
13.12 是什么使插件超越模式
13.12.1 質(zhì)量
13.12.2 代碼風(fēng)格
13.12.3 兼容性
13.12.4 性
13.12.5 性能
13.12.6 文檔
13.12.7 維護(hù)的可能性
13.13 總結(jié)
13.14 命名空間模式
13.15 命名空間基礎(chǔ)
13.15.1 單一全局變量
13.15.2 命名空間前綴
13.15.3 對(duì)象字面量表示法
13.15.4 嵌套命名空間
13.15.5 立即調(diào)用的函數(shù)表達(dá)式(IIFE)
13.15.6 命名空間注入
13.16 高級(jí)命名空間模式
13.16.1 自動(dòng)嵌套的命名空間
13.16.2 依賴聲明模式
13.16.3 深度對(duì)象擴(kuò)展
13.16.4 推薦
第14章總結(jié)
附錄參考文獻(xiàn)
書還不錯(cuò) 快遞也挺快的 這本書相對(duì)比較高深 適合中上端技術(shù) 目前沒發(fā)現(xiàn)錯(cuò)誤的地方
對(duì)于精通Javascript有很大的幫助,能帶領(lǐng)我到下一個(gè)階段
不知道為什么改不了評(píng)分~ 這書不怎么樣,講的太粗略了,不推薦
這本書對(duì)于提高對(duì)javascript的深度了解編程模式有幫助哦
js的書最經(jīng)典的是那個(gè)精粹,也這么薄,看完后受益匪淺,然后看到這么薄的js書就手癢,買了,看看還不錯(cuò)。據(jù)說還有個(gè)很薄的高性能的、有空入手看看。
書的內(nèi)容眾所周知就不多做評(píng)價(jià)啦,包裝和快遞都超級(jí)給力,贊
吐槽一下翻譯的作者,看到40多頁了,代碼部分有排版問題,書上也有一些明顯的錯(cuò)誤,整體再看看吧!
這書一點(diǎn)都不適合新手。表示,怎么下個(gè)月再看了,,,,,,
書質(zhì)量很好,快遞服務(wù)很好,很滿意的購(gòu)物;包裹過于單薄了些
講了好多模式,不過還是要有一定基礎(chǔ)才能看懂啊。。。買了之后,沒敢多看,看不懂。。有待修煉。。。
一本能提高 JavsScript 技能的好書。O'REILLY,計(jì)算機(jī)圖書第一選出版社,從沒后悔過購(gòu)買 O'REILLY 的圖書。人民郵電出版社,最喜歡的國(guó)內(nèi)出版社。
供我學(xué)習(xí)js,我熟悉圖靈叢書的內(nèi)容結(jié)構(gòu),有必要了解模式。
前兩天買來,剛讀了六十幾頁,不得不說,無論是作者的編程功底還是對(duì)這門語言的領(lǐng)悟都令人嘆服,可以說,就算是那些作者并未說明、一筆帶過的代碼細(xì)節(jié),我們都能從中領(lǐng)悟出非常棒的設(shè)計(jì)思想,這是出彩的地方??墒且灿幸恍┟乐胁蛔?,客觀來說,相對(duì)于初次接觸設(shè)計(jì)模式的學(xué)習(xí)者,本書的注釋和一些說明并不是很友好,翻譯得也比較晦澀,有些代碼的羅列也略顯凌亂,存在一些小的筆誤,如果不花時(shí)間領(lǐng)悟和理解或是有人指點(diǎn)真的很難琢磨透。。可是這些小的不足仍然無法掩蓋本書的光彩,和大師的思想對(duì)話就是最好的進(jìn)步方式!
是正品,活動(dòng)很劃算,很喜歡,就是好多工具書都沒貨了
一次買了好幾本,都還不錯(cuò),等下次優(yōu)惠再買幾本
書挺好的~還沒看完啦。一次性買了好多書~質(zhì)量服務(wù)都沒話說~支持當(dāng)當(dāng)~
文字描述超級(jí)專業(yè)抽象,有點(diǎn)晦澀難懂,只適合js水平較高并且對(duì)js面向?qū)ο笥休^深入理解的開發(fā)人員學(xué)習(xí)
學(xué)java的后期會(huì)用到 希望對(duì)學(xué)習(xí)有一定的幫助
這次沒有以前包裝好,同一個(gè)箱子里的書,有的有塑封,有的卻沒有,而且泡膜還都破了。
包裝是拆了的,發(fā)的是舊書吧,紙質(zhì)是黃色的,我是跟可維護(hù)的javascript一起買的,那本書包裝都還沒拆,紙質(zhì)比這個(gè)好多了
書內(nèi)容真的很贊,前段時(shí)間一直在自學(xué)js,但一直感覺和網(wǎng)上看到的東西不一樣,看到這本書發(fā)現(xiàn)還有設(shè)計(jì)模式這種東西,贊!
對(duì)于js有很多是是非非,想學(xué)好js不單單是了解其簡(jiǎn)單的語法,實(shí)際上并不簡(jiǎn)單,而活用這些語法完成自己的庫(kù)這本書是經(jīng)典,想要學(xué)習(xí)封裝自己方法庫(kù)的人這本是經(jīng)典,但是僅僅只想菜單式的學(xué)習(xí)一下js,完成很多效果,這本書就幫不了你了?。?!總而言之,這個(gè)是基本功,好書!??!
javascript設(shè)計(jì)模式書籍精美,發(fā)貨速度快,紙質(zhì)好。
還沒來得及看,不過這本書關(guān)于設(shè)計(jì)模式講的挺好的(大牛介紹的)
整體不錯(cuò),比較滿意,比較經(jīng)典,JS設(shè)計(jì)模式,書很薄,但涉及的知識(shí)和技術(shù)點(diǎn)很多,特別是設(shè)計(jì)模式,在編程中很重要,一定要好好看,好好學(xué),把JS技術(shù)迅速提高上去。
對(duì)于有很多是是非非,想學(xué)好不單單是了解其簡(jiǎn)單的語法,實(shí)際上并不簡(jiǎn)單,而活用這些語法完成自己的庫(kù)這本書是經(jīng)典,想要學(xué)習(xí)封裝自己方法庫(kù)的人這本是經(jīng)典,但是僅僅只想菜單式的學(xué)習(xí)一下,完成很多效果,這本書就幫不了你了?。?!總而言之,這個(gè)是基本功,好書?。?!