注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具面向?qū)ο笤O(shè)計實踐指南:Ruby語言描述

面向?qū)ο笤O(shè)計實踐指南:Ruby語言描述

面向?qū)ο笤O(shè)計實踐指南:Ruby語言描述

定 價:¥55.00

作 者: (美)Sandi Metz 著,張雪平,彭曉東 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115332455 出版時間: 2014-01-01 包裝: 平裝
開本: 16開 頁數(shù): 208 字數(shù):  

內(nèi)容簡介

  《面向?qū)ο笤O(shè)計實踐指南:Ruby語言描述》是對“如何編寫更易維護、更易管理、更討人喜愛且功能更為強大的Ruby應(yīng)用程序”的全面指導(dǎo)。為幫助讀者解決Ruby代碼難以更改和不易擴展的問題,作者在書中運用了多種功能強大和實用的面向?qū)ο笤O(shè)計技術(shù),并借助大量簡單實用的Ruby示例對這些技術(shù)進行全面解釋。全書共9章,主要包含的內(nèi)容有:如何使用面向?qū)ο缶幊碳夹g(shù)編寫更易于維護和擴展的Ruby代碼,單個Ruby類所應(yīng)包含的內(nèi)容,避免將應(yīng)該保持獨立的對象交織在一起,在多個對象之間定義靈活的接口,利用鴨子類型減少編程間接成本,合理運用繼承,通過組合構(gòu)建對象,設(shè)計出最劃算的測試,解決不良設(shè)計的Ruby代碼所導(dǎo)致的常見問題等。《面向?qū)ο笤O(shè)計實踐指南:Ruby語言描述》適合所有對面向?qū)ο笤O(shè)計和Ruby編程語言感興趣的程序員閱讀參考。

作者簡介

暫缺《面向?qū)ο笤O(shè)計實踐指南:Ruby語言描述》作者簡介

圖書目錄

第1章  面向?qū)ο笤O(shè)計
 1.1  設(shè)計贊歌
 1.1.1  設(shè)計解決的問題
 1.1.2  為何難以更改
 1.1.3  實用的設(shè)計定義
 1.2  設(shè)計工具
 1.2.1  設(shè)計原則
 1.2.2  設(shè)計模式
 1.3  設(shè)計行為
 1.3.1  設(shè)計失敗
 1.3.2  設(shè)計時機
 1.3.3  設(shè)計評
 1.4  面向?qū)ο缶幊毯喗?br />  1.4.1  過程式語言
 1.4.2  面向?qū)ο笳Z言
 1.5  小結(jié)
第2章  設(shè)計具有單一職責(zé)的類
 2.1  決定類的內(nèi)容
 2.1.1  將方法分組成類
 2.1.2  組織代碼以便于更改
 2.2  創(chuàng)建具有單一職責(zé)的類
 2.2.1  示例程序:自行車和齒輪
 2.2.2  為何單一職責(zé)原則很重要
 2.2.3  確定一個類是否具有單一職責(zé)
 2.2.4  確定何時做出設(shè)計決策
 2.3  編寫擁抱變化的代碼
 2.3.1  要依賴行為,不依賴數(shù)據(jù)
 2.3.2  全面推行單一職責(zé)原則
 2.4  最后是真實的輪子需求
 2.5  小結(jié)
第3章  管理依賴關(guān)系
 3.1  理解依賴關(guān)系
 3.1.1  認識依賴關(guān)系
 3.1.2  對象間的耦合
 3.1.3  其他依賴關(guān)系
 3.2  編寫松耦合的代碼
 3.2.1  注入依賴關(guān)系
 3.2.2  隔離依賴關(guān)系
 3.2.3  移除參數(shù)順序依賴關(guān)系
 3.3  管理依賴方向
 3.3.1  反轉(zhuǎn)依賴關(guān)系
 3.3.2  選擇依賴方向
 3.4  小結(jié)
第4章  創(chuàng)建靈活的接口
 4.1  理解接口
 4.2  定義接口
 4.2.1  公共接口
 4.2.2  私有接口
 4.2.3  職責(zé)、依賴關(guān)系和接口
 4.3  找出公共接口
 4.3.1  示例程序:自行車旅游公司
 4.3.2  構(gòu)建意圖
 4.3.3  使用時序圖
 4.3.4  請詢問"要什么",別告知"如何做"
 4.3.5  尋求上下文獨立
 4.3.6  信任其他對象
 4.3.7  使用消息來發(fā)現(xiàn)對象
 4.3.8  創(chuàng)建基于消息的應(yīng)用程序
 4.4  編寫能展現(xiàn)其(內(nèi)在)最好面的代碼
 4.4.1  創(chuàng)建顯式接口
 4.4.2  善用其他類的公共接口
 4.4.3  避免依賴私有接口
 4.4.4  最小化上下文
 4.5  迪米特法則
 4.5.1  定義迪米特法則
 4.5.2  違規(guī)的后果
 4.5.3  避免違規(guī)
 4.5.4  聽從迪米特法則
 4.6  小結(jié)
第5章  使用鴨子類型技術(shù)降低成本
 5.1  理解鴨子類型
 5.1.1  鴨子類型概述
 5.1.2  讓問題復(fù)雜些
 5.1.3  發(fā)現(xiàn)鴨子類型
 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  使用靜態(tài)類型顛覆鴨子類型
 5.3.2  靜態(tài)類型與動態(tài)類型
 5.3.3  擁抱動態(tài)類型
 5.4  小結(jié)
第6章  通過繼承獲得行為
 6.1  理解經(jīng)典的繼承
 6.2  弄清使用繼承的地方
 6.2.1  從一個具體類開始
 6.2.2  嵌入多種類型
 6.2.3  找出嵌入的類型
 6.2.4  選擇繼承
 6.2.5  描繪出繼承關(guān)系
 6.3  誤用繼承
 6.4  找出抽象
 6.4.1  創(chuàng)建抽象父類
 6.4.2  提升抽象行為
 6.4.3  從具體分離出抽象
 6.4.4  使用模板方法模式
 6.4.5  實現(xiàn)所有模板方法
 6.5  管理父類與子類之間的耦合
 6.5.1  理解耦合
 6.5.2  使用鉤子消息解耦子類
 6.6  小結(jié)
第7章  使用模塊共享角色行為
 7.1  理解角色
 7.1.1  找出角色
 7.1.2  組織職責(zé)
 7.1.3  刪除不必要的依賴關(guān)系
 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  預(yù)先將類解耦
 7.2.6  創(chuàng)建淺層結(jié)構(gòu)
 7.3  小結(jié)
第8章  組合對象
 8.1  Parts組合成Bicycle
 8.1.1  更新Bicycle類
 8.1.2  創(chuàng)建Parts層次結(jié)構(gòu)
 8.2  組合成Parts對象
 8.2.1  創(chuàng)建Part
 8.2.2  讓Parts對象更像一個數(shù)組
 8.3  制造Parts
 8.3.1  創(chuàng)建PartsFactory
 8.3.2  借助PartsFactory
 8.4  組合成Bicycle
 8.5  繼承和組合的抉擇
 8.5.1  接受繼承帶來的后果
 8.5.2  接受組合帶來的后果
 8.5.3  選擇關(guān)系
 8.6  小結(jié)
第9章  設(shè)計最劃算的測試
 9.1  意圖測試
 9.1.1  了解測試的意圖
 9.1.2  了解測試的內(nèi)容
 9.1.3  了解測試的時機
 9.1.4  了解測試的方法
 9.2  測試輸入消息
 9.2.1  刪除未使用的接口
 9.2.2  證明公共接口
 9.2.3  隔離測試對象
 9.2.4  注入使用類的依賴關(guān)系
 9.2.5  將依賴關(guān)系注入成角色
 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  指定子類責(zé)任
 9.6.3  測試獨特行為
 9.7  小結(jié)
 后記

本目錄推薦

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