《面向?qū)ο笤O計實踐指南:ruby語言描述》(梅茨)【圖片 簡介 評論 價格 目錄
本文關(guān)鍵詞:面向?qū)ο笤O計實踐指南:Ruby語言描述,由筆耕文化傳播整理發(fā)布。
面向?qū)ο笤O計實踐指南:ruby語言描述 特色及評論
《面向?qū)ο笤O計實踐指南:ruby語言描述》是對“如何編寫更易維護、更易管理、更討人喜愛且功能更為強大的ruby應用程序”的全面指導。為幫助讀者解決ruby代碼難以更改和不易擴展的問題,作者在書中運用了多種功能強大和實用的面向?qū)ο笤O計技術(shù),并借助大量簡單實用的ruby示例對這些技術(shù)進行全面解釋。 全書共9章,主要包含的內(nèi)容有:如何使用面向?qū)ο缶幊碳夹g(shù)編寫更易于維護和擴展的ruby代碼,單個ruby類所應包含的內(nèi)容,避免將應該保持獨立的對象交織在一起,在多個對象之間定義靈活的接口,,利用鴨子類型減少編程間接成本,合理運用繼承,通過組合構(gòu)建對象,設計出*劃算的測試,解決不良設計的ruby代碼所導致的常見問題等。 《面向?qū)ο笤O計實踐指南:Ruby語言描述》適合所有對面向?qū)ο笤O計和ruby編程語言感興趣的程序員閱讀參考。
面向?qū)ο笤O計實踐指南:ruby語言描述 內(nèi)容簡介
第一本直接關(guān)注ruby語言面向?qū)ο髴贸绦蛟O計的書籍。 對“如何編寫更易維護、更易管理、更討人喜愛,以及功能更為強大的ruby應用程序”的全面指導。 任何層次的ruby程序員都能從中汲取有用的知識:初級的ruby程序員將會找到賴以生存的特定準則,中等水平的ruby程序員將會找到多條可以根據(jù)需要靈活地詮釋和應用的有價值的原則,高水平的ruby程序員則會找到一種共同語言,用以引導開發(fā)和指導同事。
面向?qū)ο笤O計實踐指南:ruby語言描述 本書目錄
第1章 面向?qū)ο笤O計
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 面向?qū)ο缶幊毯喗?br /> 1.4.1 過程式語言
1.4.2 面向?qū)ο笳Z言
1.5 小結(jié)
第2章 設計具有單一職責的類
2.1 決定類的內(nèi)容
2.1.1 將方法分組成類
2.1.2 組織代碼以便于更改
2.2 創(chuàng)建具有單一職責的類
2.2.1 示例程序:自行車和齒輪
2.2.2 為何單一職責原則很重要
2.2.3 確定一個類是否具有單一職責
2.2.4 確定何時做出設計決策
2.3 編寫擁抱變化的代碼
2.3.1 要依賴行為,不依賴數(shù)據(jù)
2.3.2 全面推行單一職責原則
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 職責、依賴關(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)建基于消息的應用程序
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 讓問題復雜些
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 組織職責
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 預先將類解耦
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章 設計*劃算的測試
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 指定子類責任
9.6.3 測試獨特行為
9.7 小結(jié)
后記
面向?qū)ο笤O計實踐指南:ruby語言描述 相關(guān)資料
“這是一部厲害的作品!其描述如此生動活潑,讓我再一次發(fā)現(xiàn)埋藏在oo原則之下的真相。這些真相都藏匿很深,以致我也忘記了去探究它們。作者的設計思維和對未來的認識尤其具有說服力!
ian mcfarland,new context有限公司總裁
“對于一名自學成才的程序員來說,這是一本對鉆研某些oop概念非常有用的書籍。我顯然也需要對那些概念更加熟悉才行。我并不孤獨,在工作的時候,總會有這樣一種提示在腦中不斷地閃現(xiàn):‘sandi metz會怎么做呢?’”
jonathan mukai,pivotal in nyc
“作者以一絲不茍的務實態(tài)度與細膩清晰的表達方式,將那些令人難以捉摸的知識呈現(xiàn)給了迫切需要它的讀者。這些解決之道既可作為新手的準則,也可當作有經(jīng)驗專業(yè)人士的指導!
katrina owen,bengler開發(fā)人員
“我相信這是2012年*重要的一本ruby書籍。不僅因為作者100%抓住了要點,而且她還采用了輕松的寫作風格,并大量使用類比,讓每一個要點都淺顯易懂!
avdi grimm,exceptional ruby and objects on rails作者
面向?qū)ο笤O計實踐指南:ruby語言描述 作者介紹
作者簡介
Sandi Metz 在處理經(jīng)歷不斷變化仍然存活的項目方面,Sandi Metz擁有30年的工作經(jīng)驗。作為杜克大學的一名軟件架構(gòu)師,她每天都堅持編寫代碼。在杜克大學里,她的團隊不斷地為許多客戶解決大量實際問題。其中,有些客戶的應用程序不僅具有規(guī)模大和面向?qū)ο蟮奶攸c,而且已演變了15年之久。她全身心投入的工作是用簡單實用的方法將有用的軟件提取出來。Sandi在Ruby Nation做過演講,在Gotham Ruby用戶大會上也演講過多次。本書是她做過的關(guān)于OO設計的談話匯集之后的必然成果。
譯者簡介
張雪平 西南石油大學畢業(yè),模式識別與智能系統(tǒng)專業(yè),碩士研究生。擁有多年高校計算機相關(guān)課程的教學經(jīng)驗,熱衷于計算機應用軟件的開發(fā)與研究,F(xiàn)從事石油行業(yè)相關(guān)軟件的研發(fā)工作。
彭曉東 西南師范大學畢業(yè),計算機科學與技術(shù)專業(yè)。10余年來,一直從事高校計算機網(wǎng)絡管理、軟件開發(fā)及教學工作。
面向?qū)ο笤O計實踐指南:ruby語言描述
淘書團
《宿白先生八秩華誕紀念文集》仿皮面精裝2冊,收錄著名考古學家宿白先生不同年代學生...
¥49
“布蘭登·桑德森作品”7冊,《伊嵐翠》一出版即獲得奇幻史詩大獎;《迷霧之子三部曲...
¥49
“青少版經(jīng)典文學名著”9冊,采擷最具閱讀價值的不朽經(jīng)典,在尊重原著的基礎上適當刪...
¥35
本文關(guān)鍵詞:面向?qū)ο笤O計實踐指南:Ruby語言描述,由筆耕文化傳播整理發(fā)布。
本文編號:131767
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/131767.html