面向對象設計實踐指南:Ruby語言描述( 簡體 字) | |
作者:(美)梅茨 著 | 類別:1. -> 程式設計 -> Ruby |
譯者:張雪平,彭曉東 譯 | |
出版社:人民郵電出版社 | 3dWoo書號: 39709 詢問書籍請說出此書號! 有庫存 NT售價: 275 元 |
出版日:1/1/2014 | |
頁數:207 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115332455 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 面向對象設計
1.1 設計贊歌 1.1.1 設計解決的問題 1.1.2 為何難以更改 1.1.3 實用的設計定義 1.2 設計工具 1.2.1 設計原則 1.2.2 設計模式 1.3 設計行為 1.3.1 設計失敗 1.3.2 設計時機 1.3.3 設計評 1.4 面向對象編程簡介 1.4.1 過程式語言 1.4.2 面向對象語言 1.5 小結 第2章 設計具有單一職責的類 2.1 決定類的內容 2.1.1 將方法分組成類 2.1.2 組織代碼以便于更改 2.2 創建具有單一職責的類 2.2.1 示例程序:自行車和齒輪 2.2.2 為何單一職責原則很重要 2.2.3 確定一個類是否具有單一職責 2.2.4 確定何時做出設計決策 2.3 編寫擁抱變化的代碼 2.3.1 要依賴行為,不依賴數據 2.3.2 全面推行單一職責原則 2.4 最后是真實的輪子需求 2.5 小結 第3章 管理依賴關系 3.1 理解依賴關系 3.1.1 認識依賴關系 3.1.2 對象間的耦合 3.1.3 其他依賴關系 3.2 編寫松耦合的代碼 3.2.1 注入依賴關系 3.2.2 隔離依賴關系 3.2.3 移除參數順序依賴關系 3.3 管理依賴方向 3.3.1 反轉依賴關系 3.3.2 選擇依賴方向 3.4 小結 第4章 創建靈活的接口 4.1 理解接口 4.2 定義接口 4.2.1 公共接口 4.2.2 私有接口 4.2.3 職責、依賴關系和接口 4.3 找出公共接口 4.3.1 示例程序:自行車旅游公司 4.3.2 構建意圖 4.3.3 使用時序圖 4.3.4 請詢問"要什么",別告知"如何做" 4.3.5 尋求上下文獨立 4.3.6 信任其他對象 4.3.7 使用消息來發現對象 4.3.8 創建基于消息的應用程序 4.4 編寫能展現其(內在)最好面的代碼 4.4.1 創建顯式接口 4.4.2 善用其他類的公共接口 4.4.3 避免依賴私有接口 4.4.4 最小化上下文 4.5 迪米特法則 4.5.1 定義迪米特法則 4.5.2 違規的后果 4.5.3 避免違規 4.5.4 聽從迪米特法則 4.6 小結 第5章 使用鴨子類型技術降低成本 5.1 理解鴨子類型 5.1.1 鴨子類型概述 5.1.2 讓問題復雜些 5.1.3 發現鴨子類型 5.1.4 鴨子類型的后果 5.2 編寫依賴于鴨子類型的代碼 5.2.1 識別出隱藏的鴨子類型 5.2.2 信任你的鴨子類型 5.2.3 記錄好鴨子類型 5.2.4 在鴨子類型之間共享代碼 5.2.5 合理選擇鴨子類型 5.3 克服對鴨子類型的恐懼 5.3.1 使用靜態類型顛覆鴨子類型 5.3.2 靜態類型與動態類型 5.3.3 擁抱動態類型 5.4 小結 第6章 通過繼承獲得行為 6.1 理解經典的繼承 6.2 弄清使用繼承的地方 6.2.1 從一個具體類開始 6.2.2 嵌入多種類型 6.2.3 找出嵌入的類型 6.2.4 選擇繼承 6.2.5 描繪出繼承關系 6.3 誤用繼承 6.4 找出抽象 6.4.1 創建抽象父類 6.4.2 提升抽象行為 6.4.3 從具體分離出抽象 6.4.4 使用模板方法模式 6.4.5 實現所有模板方法 6.5 管理父類與子類之間的耦合 6.5.1 理解耦合 6.5.2 使用鉤子消息解耦子類 6.6 小結 第7章 使用模塊共享角色行為 7.1 理解角色 7.1.1 找出角色 7.1.2 組織職責 7.1.3 刪除不必要的依賴關系 7.1.4 編寫具體代碼 7.1.5 提取抽象 7.1.6 查找方法 7.1.7 繼承角色行為 7.2 編寫可繼承的代碼 7.2.1 識別出反模式 7.2.2 堅持抽象 7.2.3 重視契約 7.2.4 使用模板方法模式 7.2.5 預先將類解耦 7.2.6 創建淺層結構 7.3 小結 第8章 組合對象 8.1 Parts組合成Bicycle 8.1.1 更新Bicycle類 8.1.2 創建Parts層次結構 8.2 組合成Parts對象 8.2.1 創建Part 8.2.2 讓Parts對象更像一個數組 8.3 制造Parts 8.3.1 創建PartsFactory 8.3.2 借助PartsFactory 8.4 組合成Bicycle 8.5 繼承和組合的抉擇 8.5.1 接受繼承帶來的后果 8.5.2 接受組合帶來的后果 8.5.3 選擇關系 8.6 小結 第9章 設計最劃算的測試 9.1 意圖測試 9.1.1 了解測試的意圖 9.1.2 了解測試的內容 9.1.3 了解測試的時機 9.1.4 了解測試的方法 9.2 測試輸入消息 9.2.1 刪除未使用的接口 9.2.2 證明公共接口 9.2.3 隔離測試對象 9.2.4 注入使用類的依賴關系 9.2.5 將依賴關系注入成角色 9.3 測試私有方法 9.3.1 在測試過程中忽略私有方法 9.3.2 從測試類里移除私有方法 9.3.3 選擇測試私有方法 9.4 測試輸出消息 9.4.1 忽略查詢消息 9.4.2 證明命令消息 9.5 測試鴨子類型 9.5.1 測試角色 9.5.2 用角色測試驗證測試替身 9.6 測試繼承代碼 9.6.1 指定繼承接口 9.6.2 指定子類責任 9.6.3 測試獨特行為 9.7 小結 后記 《面向對象設計實踐指南:Ruby語言描述》是對“如何編寫更易維護、更易管理、更討人喜愛且功能更為強大的Ruby應用程序”的全面指導。為幫助讀者解決Ruby代碼難以更改和不易擴展的問題,作者在書中運用了多種功能強大和實用的面向對象設計技術,并借助大量簡單實用的Ruby示例對這些技術進行全面解釋。
全書共9章,主要包含的內容有:如何使用面向對象編程技術編寫更易于維護和擴展的Ruby代碼,單個Ruby類所應包含的內容,避免將應該保持獨立的對象交織在一起,在多個對象之間定義靈活的接口,利用鴨子類型減少編程間接成本,合理運用繼承,通過組合構建對象,設計出最劃算的測試,解決不良設計的Ruby代碼所導致的常見問題等。
《面向對象設計實踐指南:Ruby語言描述》適合所有對面向對象設計和Ruby編程語言感興趣的程序員閱讀參考。
|