注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計JAVA及其相關(guān)JavaScript設(shè)計模式

JavaScript設(shè)計模式

JavaScript設(shè)計模式

定 價:¥45.00

作 者: (美)哈梅斯,(美)迪亞斯 著,謝廷晟 譯
出版社: 人民郵電出版社
叢編項: 圖靈程序設(shè)計叢書
標(biāo) 簽: J2EE

ISBN: 9787115191281 出版時間: 2009-01-01 包裝: 平裝
開本: 16開 頁數(shù): 249 字?jǐn)?shù):  

內(nèi)容簡介

  《JavaScript設(shè)計模式》共有兩部分。第一部分給出了實現(xiàn)具體設(shè)計模式所需要的面向?qū)ο筇匦缘幕A(chǔ)知識,主要包括接口、封裝和信息隱藏、繼承、單體模式等內(nèi)容。第二部分則專注于各種具體的設(shè)計模式及其在JavaScript 語言中的應(yīng)用,主要介紹了工廠模式、橋接模式、組合模式、門面模式等幾種常見的模式。為了讓每一章中的示例都盡可能地貼近實際應(yīng)用,書中同時列舉了一些JavaScript 程序員最常見的任務(wù),然后運用設(shè)計模式使其解決方案變得更模塊化、更高效并且更易維護,其中較為理論化的例子則用于闡明某些要點?!禞avaScript設(shè)計模式》適合各層次的Web 前端開發(fā)人員閱讀和參考,也適合有C++/Java/C# 背景的服務(wù)器端程序員學(xué)習(xí)。

作者簡介

  Ross Harmes,資深Web程序員,有10多年編程經(jīng)驗。現(xiàn)任Yahoo前端工程師。他是開源圖片博客軟件Birch的開發(fā)者。Blog地址為Http://tecrhfoolery.com。Dustin Diaz,資深Web程序員,現(xiàn)任Google用戶界面工程師。新一代JavaScript框架DEDlChain(兼具jQuery和YUI的優(yōu)勢)的開發(fā)者。他還是一位中長跑健將,800米跑曾經(jīng)在全美國排名第13。擁有西班牙語學(xué)士學(xué)位。個人網(wǎng)站http://dustindiaz.com。

圖書目錄

第一部分 面向?qū)ο蟮腏avaScript
第1章 富有表現(xiàn)力的JavaScript
1.1 JavaScript的靈活性
1.2 弱類型語言
1.3 函數(shù)是一等對象
1.4 對象的易變性
1.5 繼承
1.6 JavaScript中的設(shè)計模式
1.7 小結(jié)
第2章 接口
2.1 什么是接口
2.1.1 接口之利
2.1.2 接口之弊
2.2 其他面向?qū)ο笳Z言處理接口的方式
2.3 在JavaScript中模仿接口
2.3.1 用注釋描述接口
2.3.2 用屬性檢查模仿接口
2.3.3 用鴨式辨型模仿接口
2.4 本書采用的接口實現(xiàn)方法
2.5 Interface類
2.5.1 Interface類的使用場合
2.5.2 Interface類的用法
2.5.3 示例:使用Interface類
2.6 依賴于接口的設(shè)計模式
2.7 小結(jié)
第3章 封裝和信息隱藏
3.1 信息隱藏原則
3.1.1 封裝與信息隱藏
3.1.2 接口扮演的角色
3.2 創(chuàng)建對象的基本模式
3.2.1 門戶大開型對象
3.2.2 用命名規(guī)范區(qū)別私用成員
3.2.3 作用域、嵌套函數(shù)和閉包
3.2.4 用閉包實現(xiàn)私用成員
3.3 更多高級對象創(chuàng)建模式
3.3.1 靜態(tài)方法和屬性
3.3.2 常量
3.3.3 單體和對象工廠
3.4 封裝之利
3.5 封裝之弊
3.6 小結(jié)
第4章 繼承
4.1 為什么需要繼承
4.2 類式繼承
4.2.1 原型鏈
4.2.2 extend函數(shù)
4.3 原型式繼承
4.3.1 對繼承而來的成員的讀和寫的不對等性
4.3.2 clone函數(shù)
4.4 類式繼承和原型式繼承的對比
4.5 繼承與封裝
4.6 摻元類
4.7 示例:就地編輯
4.7.1 類式繼承解決方案
4.7.2 原型式繼承解決方案
4.7.3 摻元類解決方案
4.8 繼承的適用場合
4.9 小結(jié)
第5章 單體模式
5.1 單體的基本結(jié)構(gòu)
5.2 劃分命名空間
5.3 用作特定網(wǎng)頁專用代碼的包裝器的單體
5.4 擁有私用成員的單體
5.4.1 使用下劃線表示法
5.4.2 使用閉包
5.4.3 兩種技術(shù)的比較
5.5 惰性實例化
5.6 分支
5.7 示例:用分支技術(shù)創(chuàng)建XHR對象
5.8 單體模式的適用場合
5.9 單體模式之利
5.10 單體模式之弊
5.11 小結(jié)
第6章 方法的鏈?zhǔn)秸{(diào)用
6.1 調(diào)用鏈的結(jié)構(gòu)
6.2 設(shè)計一個支持方法鏈?zhǔn)秸{(diào)用的JavaScript庫
6.3 使用回調(diào)從支持鏈?zhǔn)秸{(diào)用的方法獲取數(shù)據(jù)
6.4 小結(jié)
第二部分 設(shè)計模式
第7章 工廠模式
7.1 簡單工廠
7.2 工廠模式
7.3 工廠模式的適用場合
7.3.1 動態(tài)實現(xiàn)
7.3.2 節(jié)省設(shè)置開銷
7.3.3 用許多小型對象組成一個大對象
7.4 示例:XHR工廠
7.4.1 專用型連接對象
7.4.2 在運行時選擇連接對象
7.5 示例:RSS閱讀器
7.6 工廠模式之利
7.7 工廠模式之弊
7.8 小結(jié)
第8章 橋接模式
8.1 示例:事件監(jiān)聽器
8.2 橋接模式的其他例子
8.3 用橋接模式聯(lián)結(jié)多個類
8.4 示例:構(gòu)建XHR連接隊列
8.4.1 添加核心工具
8.4.2 添加觀察者系統(tǒng)
8.4.3 開發(fā)隊列的基本框架
8.4.4 實現(xiàn)隊列
8.4.5 哪些地方用了橋接模式
8.5 橋接模式的適用場合
8.6 橋接模式之利
8.7 橋接模式之弊
8.8 小結(jié)
第9章 組合模式
9.1 組合對象的結(jié)構(gòu)
9.2 使用組合模式
9.3 示例:表單驗證
9.3.1 匯合起來
9.3.2 向FormItem添加操作
9.3.3 向?qū)哟误w系中添加類
9.3.4 添加更多操作
9.4 示例:圖片庫
9.5 組合模式之利
9.6 組合模式之弊
9.7 小結(jié)
第10章 門面模式
10.1 一些你可能已經(jīng)知道的門面元素
10.2 JavaScript庫的門面性質(zhì)
10.3 用作便利方法的門面元素
10.4 示例:設(shè)置HTML元素的樣式
10.5 示例:設(shè)計一個事件工具
10.6 實現(xiàn)門面模式的一般步驟
10.7 門面模式的適用場合
10.8 門面模式之利
10.9 門面模式之弊
10.10 小結(jié)
第11章 適配器模式
11.1 適配器的特點
11.2 適配原有實現(xiàn)
11.3 示例:適配兩個庫
11.4 示例:適配電子郵件API
11.4.1 用適配器包裝Web郵件API
11.4.2 從fooMail轉(zhuǎn)向dedMail
11.5 適配器模式的適用場合
11.6 適配器模式之利
11.7 適配器模式之弊
11.8 小結(jié)
第12章 裝飾者模式
12.1 裝飾者的結(jié)構(gòu)
12.1.1 接口在裝飾者模式中的角色
12.1.2 裝飾者模式與組合模式的比較
12.2 裝飾者修改其組件的方式
12.2.1 在方法之后添加行為
12.2.2 在方法之前添加行為
12.2.3 替換方法
12.2.4 添加新方法
12.3 工廠的角色
12.4 函數(shù)裝飾者
12.5 裝飾者模式的適用場合
12.6 示例:方法性能分析器
12.7 裝飾者模式之利
12.8 裝飾者模式之弊
12.9 小結(jié)
第13章 享元模式
13.1 享元的結(jié)構(gòu)
13.2 示例:汽車登記
13.2.1 內(nèi)在狀態(tài)和外在狀態(tài)
13.2.2 用工廠進行實例化
13.2.3 封裝在管理器中的外在狀態(tài)
13.3 管理外在狀態(tài)
13.4 示例:Web日歷
13.4.1 把日期對象轉(zhuǎn)化為享元
13.4.2 外在數(shù)據(jù)保存在哪里
13.5 示例:工具提示對象
13.5.1 未經(jīng)優(yōu)化的Tooltip類
13.5.2 作為享元的Tooltip
13.6 保存實例供以后重用
13.7 享元模式的適用場合
13.8 實現(xiàn)享元模式的一般步驟
13.9 享元模式之利
13.10 享元模式之弊
13.11 小結(jié)
第14章 代理模式
14.1 代理的結(jié)構(gòu)
14.1.1 代理如何控制對本體的訪問
14.1.2 虛擬代理、遠(yuǎn)程代理和保護代理
14.1.3 代理模式與裝飾者模式的比較
14.2 代理模式的適用場合
14.3 示例:網(wǎng)頁統(tǒng)計
14.4 包裝Web服務(wù)的通用模式
14.5 示例:目錄查找
14.6 創(chuàng)建虛擬代理的通用模式
14.7 代理模式之利
14.8 代理模式之弊
14.9 小結(jié)
第15章 觀察者模式
15.1 示例:報紙的投送
15.1.1 推與拉的比較
15.1.2 模式的實踐
15.2 構(gòu)建觀察者API
15.2.1 投送方法
15.2.2 訂閱方法
15.2.3 退訂方法
15.3 現(xiàn)實生活中的觀察者
15.4 示例:動畫
15.5 事件監(jiān)聽器也是觀察者
15.6 觀察者模式的適用場合
15.7 觀察者模式之利
15.8 觀察者模式之弊
15.9 小結(jié)
第16章 命令模式
16.1 命令的結(jié)構(gòu)
16.1.1 用閉包創(chuàng)建命令對象
16.1.2 客戶、調(diào)用者和接收者
16.1.3 在命令模式中使用接口
16.2 命令對象的類型
16.3 示例:菜單項
16.3.1 菜單組合對象
16.3.2 命令類
16.3.3 匯合起來
16.3.4 添加更多菜單項
16.4 示例:取消操作和命令日志
16.4.1 使用命令日志實現(xiàn)不可逆操作的取消
16.4.2 用于崩潰恢復(fù)的命令日志
16.5 命令模式的適用場合
16.6 命令模式之利
16.7 命令模式之弊
16.8 小結(jié)
第17章 職責(zé)鏈模式
17.1 職責(zé)鏈的結(jié)構(gòu)
17.2 傳遞請求
17.3 在現(xiàn)有層次體系中實現(xiàn)職責(zé)鏈
17.4 事件委托
17.5 職責(zé)鏈模式的適用場合
17.6 圖片庫的進一步討論
17.6.1 用職責(zé)鏈提高組合對象的效率
17.6.2 為圖片添加標(biāo)簽
17.7 職責(zé)鏈模式之利
17.8 職責(zé)鏈模式之弊
17.9 小結(jié)
索引

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號