《面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:ruby語(yǔ)言描述》(梅茨)【圖片 簡(jiǎn)介 評(píng)論 價(jià)格 目錄
本文關(guān)鍵詞:面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:Ruby語(yǔ)言描述,由筆耕文化傳播整理發(fā)布。
面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:ruby語(yǔ)言描述 特色及評(píng)論
《面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:ruby語(yǔ)言描述》是對(duì)“如何編寫(xiě)更易維護(hù)、更易管理、更討人喜愛(ài)且功能更為強(qiáng)大的ruby應(yīng)用程序”的全面指導(dǎo)。為幫助讀者解決ruby代碼難以更改和不易擴(kuò)展的問(wèn)題,作者在書(shū)中運(yùn)用了多種功能強(qiáng)大和實(shí)用的面向?qū)ο笤O(shè)計(jì)技術(shù),并借助大量簡(jiǎn)單實(shí)用的ruby示例對(duì)這些技術(shù)進(jìn)行全面解釋。 全書(shū)共9章,主要包含的內(nèi)容有:如何使用面向?qū)ο缶幊碳夹g(shù)編寫(xiě)更易于維護(hù)和擴(kuò)展的ruby代碼,單個(gè)ruby類(lèi)所應(yīng)包含的內(nèi)容,避免將應(yīng)該保持獨(dú)立的對(duì)象交織在一起,在多個(gè)對(duì)象之間定義靈活的接口,,利用鴨子類(lèi)型減少編程間接成本,合理運(yùn)用繼承,通過(guò)組合構(gòu)建對(duì)象,設(shè)計(jì)出*劃算的測(cè)試,解決不良設(shè)計(jì)的ruby代碼所導(dǎo)致的常見(jiàn)問(wèn)題等。 《面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:Ruby語(yǔ)言描述》適合所有對(duì)面向?qū)ο笤O(shè)計(jì)和ruby編程語(yǔ)言感興趣的程序員閱讀參考。
面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:ruby語(yǔ)言描述 內(nèi)容簡(jiǎn)介
第一本直接關(guān)注ruby語(yǔ)言面向?qū)ο髴?yīng)用程序設(shè)計(jì)的書(shū)籍。 對(duì)“如何編寫(xiě)更易維護(hù)、更易管理、更討人喜愛(ài),以及功能更為強(qiáng)大的ruby應(yīng)用程序”的全面指導(dǎo)。 任何層次的ruby程序員都能從中汲取有用的知識(shí):初級(jí)的ruby程序員將會(huì)找到賴(lài)以生存的特定準(zhǔn)則,中等水平的ruby程序員將會(huì)找到多條可以根據(jù)需要靈活地詮釋和應(yīng)用的有價(jià)值的原則,高水平的ruby程序員則會(huì)找到一種共同語(yǔ)言,用以引導(dǎo)開(kāi)發(fā)和指導(dǎo)同事。
面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:ruby語(yǔ)言描述 本書(shū)目錄
第1章 面向?qū)ο笤O(shè)計(jì)
1.1 設(shè)計(jì)贊歌
1.1.1 設(shè)計(jì)解決的問(wèn)題
1.1.2 為何難以更改
1.1.3 實(shí)用的設(shè)計(jì)定義
1.2 設(shè)計(jì)工具
1.2.1 設(shè)計(jì)原則
1.2.2 設(shè)計(jì)模式
1.3 設(shè)計(jì)行為
1.3.1 設(shè)計(jì)失敗
1.3.2 設(shè)計(jì)時(shí)機(jī)
1.3.3 設(shè)計(jì)評(píng)
1.4 面向?qū)ο缶幊毯?jiǎn)介
1.4.1 過(guò)程式語(yǔ)言
1.4.2 面向?qū)ο笳Z(yǔ)言
1.5 小結(jié)
第2章 設(shè)計(jì)具有單一職責(zé)的類(lèi)
2.1 決定類(lèi)的內(nèi)容
2.1.1 將方法分組成類(lèi)
2.1.2 組織代碼以便于更改
2.2 創(chuàng)建具有單一職責(zé)的類(lèi)
2.2.1 示例程序:自行車(chē)和齒輪
2.2.2 為何單一職責(zé)原則很重要
2.2.3 確定一個(gè)類(lèi)是否具有單一職責(zé)
2.2.4 確定何時(shí)做出設(shè)計(jì)決策
2.3 編寫(xiě)擁抱變化的代碼
2.3.1 要依賴(lài)行為,不依賴(lài)數(shù)據(jù)
2.3.2 全面推行單一職責(zé)原則
2.4 *后是真實(shí)的輪子需求
2.5 小結(jié)
第3章 管理依賴(lài)關(guān)系
3.1 理解依賴(lài)關(guān)系
3.1.1 認(rèn)識(shí)依賴(lài)關(guān)系
3.1.2 對(duì)象間的耦合
3.1.3 其他依賴(lài)關(guān)系
3.2 編寫(xiě)松耦合的代碼
3.2.1 注入依賴(lài)關(guān)系
3.2.2 隔離依賴(lài)關(guān)系
3.2.3 移除參數(shù)順序依賴(lài)關(guān)系
3.3 管理依賴(lài)方向
3.3.1 反轉(zhuǎn)依賴(lài)關(guān)系
3.3.2 選擇依賴(lài)方向
3.4 小結(jié)
第4章 創(chuàng)建靈活的接口
4.1 理解接口
4.2 定義接口
4.2.1 公共接口
4.2.2 私有接口
4.2.3 職責(zé)、依賴(lài)關(guān)系和接口
4.3 找出公共接口
4.3.1 示例程序:自行車(chē)旅游公司
4.3.2 構(gòu)建意圖
4.3.3 使用時(shí)序圖
4.3.4 請(qǐng)?jiān)儐?wèn)"要什么",別告知"如何做"
4.3.5 尋求上下文獨(dú)立
4.3.6 信任其他對(duì)象
4.3.7 使用消息來(lái)發(fā)現(xiàn)對(duì)象
4.3.8 創(chuàng)建基于消息的應(yīng)用程序
4.4 編寫(xiě)能展現(xiàn)其(內(nèi)在)*好面的代碼
4.4.1 創(chuàng)建顯式接口
4.4.2 善用其他類(lèi)的公共接口
4.4.3 避免依賴(lài)私有接口
4.4.4 *小化上下文
4.5 迪米特法則
4.5.1 定義迪米特法則
4.5.2 違規(guī)的后果
4.5.3 避免違規(guī)
4.5.4 聽(tīng)從迪米特法則
4.6 小結(jié)
第5章 使用鴨子類(lèi)型技術(shù)降低成本
5.1 理解鴨子類(lèi)型
5.1.1 鴨子類(lèi)型概述
5.1.2 讓問(wèn)題復(fù)雜些
5.1.3 發(fā)現(xiàn)鴨子類(lèi)型
5.1.4 鴨子類(lèi)型的后果
5.2 編寫(xiě)依賴(lài)于鴨子類(lèi)型的代碼
5.2.1 識(shí)別出隱藏的鴨子類(lèi)型
5.2.2 信任你的鴨子類(lèi)型
5.2.3 記錄好鴨子類(lèi)型
5.2.4 在鴨子類(lèi)型之間共享代碼
5.2.5 合理選擇鴨子類(lèi)型
5.3 克服對(duì)鴨子類(lèi)型的恐懼
5.3.1 使用靜態(tài)類(lèi)型顛覆鴨子類(lèi)型
5.3.2 靜態(tài)類(lèi)型與動(dòng)態(tài)類(lèi)型
5.3.3 擁抱動(dòng)態(tài)類(lèi)型
5.4 小結(jié)
第6章 通過(guò)繼承獲得行為
6.1 理解經(jīng)典的繼承
6.2 弄清使用繼承的地方
6.2.1 從一個(gè)具體類(lèi)開(kāi)始
6.2.2 嵌入多種類(lèi)型
6.2.3 找出嵌入的類(lèi)型
6.2.4 選擇繼承
6.2.5 描繪出繼承關(guān)系
6.3 誤用繼承
6.4 找出抽象
6.4.1 創(chuàng)建抽象父類(lèi)
6.4.2 提升抽象行為
6.4.3 從具體分離出抽象
6.4.4 使用模板方法模式
6.4.5 實(shí)現(xiàn)所有模板方法
6.5 管理父類(lèi)與子類(lèi)之間的耦合
6.5.1 理解耦合
6.5.2 使用鉤子消息解耦子類(lèi)
6.6 小結(jié)
第7章 使用模塊共享角色行為
7.1 理解角色
7.1.1 找出角色
7.1.2 組織職責(zé)
7.1.3 刪除不必要的依賴(lài)關(guān)系
7.1.4 編寫(xiě)具體代碼
7.1.5 提取抽象
7.1.6 查找方法
7.1.7 繼承角色行為
7.2 編寫(xiě)可繼承的代碼
7.2.1 識(shí)別出反模式
7.2.2 堅(jiān)持抽象
7.2.3 重視契約
7.2.4 使用模板方法模式
7.2.5 預(yù)先將類(lèi)解耦
7.2.6 創(chuàng)建淺層結(jié)構(gòu)
7.3 小結(jié)
第8章 組合對(duì)象
8.1 parts組合成bicycle
8.1.1 更新bicycle類(lèi)
8.1.2 創(chuàng)建parts層次結(jié)構(gòu)
8.2 組合成parts對(duì)象
8.2.1 創(chuàng)建part
8.2.2 讓parts對(duì)象更像一個(gè)數(shù)組
8.3 制造parts
8.3.1 創(chuàng)建partsfactory
8.3.2 借助partsfactory
8.4 組合成bicycle
8.5 繼承和組合的抉擇
8.5.1 接受繼承帶來(lái)的后果
8.5.2 接受組合帶來(lái)的后果
8.5.3 選擇關(guān)系
8.6 小結(jié)
第9章 設(shè)計(jì)*劃算的測(cè)試
9.1 意圖測(cè)試
9.1.1 了解測(cè)試的意圖
9.1.2 了解測(cè)試的內(nèi)容
9.1.3 了解測(cè)試的時(shí)機(jī)
9.1.4 了解測(cè)試的方法
9.2 測(cè)試輸入消息
9.2.1 刪除未使用的接口
9.2.2 證明公共接口
9.2.3 隔離測(cè)試對(duì)象
9.2.4 注入使用類(lèi)的依賴(lài)關(guān)系
9.2.5 將依賴(lài)關(guān)系注入成角色
9.3 測(cè)試私有方法
9.3.1 在測(cè)試過(guò)程中忽略私有方法
9.3.2 從測(cè)試類(lèi)里移除私有方法
9.3.3 選擇測(cè)試私有方法
9.4 測(cè)試輸出消息
9.4.1 忽略查詢(xún)消息
9.4.2 證明命令消息
9.5 測(cè)試?guó)喿宇?lèi)型
9.5.1 測(cè)試角色
9.5.2 用角色測(cè)試驗(yàn)證測(cè)試替身
9.6 測(cè)試?yán)^承代碼
9.6.1 指定繼承接口
9.6.2 指定子類(lèi)責(zé)任
9.6.3 測(cè)試獨(dú)特行為
9.7 小結(jié)
后記
面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:ruby語(yǔ)言描述 相關(guān)資料
“這是一部厲害的作品!其描述如此生動(dòng)活潑,讓我再一次發(fā)現(xiàn)埋藏在oo原則之下的真相。這些真相都藏匿很深,以致我也忘記了去探究它們。作者的設(shè)計(jì)思維和對(duì)未來(lái)的認(rèn)識(shí)尤其具有說(shuō)服力!
ian mcfarland,new context有限公司總裁
“對(duì)于一名自學(xué)成才的程序員來(lái)說(shuō),這是一本對(duì)鉆研某些oop概念非常有用的書(shū)籍。我顯然也需要對(duì)那些概念更加熟悉才行。我并不孤獨(dú),在工作的時(shí)候,總會(huì)有這樣一種提示在腦中不斷地閃現(xiàn):‘sandi metz會(huì)怎么做呢?’”
jonathan mukai,pivotal in nyc
“作者以一絲不茍的務(wù)實(shí)態(tài)度與細(xì)膩清晰的表達(dá)方式,將那些令人難以捉摸的知識(shí)呈現(xiàn)給了迫切需要它的讀者。這些解決之道既可作為新手的準(zhǔn)則,也可當(dāng)作有經(jīng)驗(yàn)專(zhuān)業(yè)人士的指導(dǎo)!
katrina owen,bengler開(kāi)發(fā)人員
“我相信這是2012年*重要的一本ruby書(shū)籍。不僅因?yàn)樽髡?00%抓住了要點(diǎn),而且她還采用了輕松的寫(xiě)作風(fēng)格,并大量使用類(lèi)比,讓每一個(gè)要點(diǎn)都淺顯易懂!
avdi grimm,exceptional ruby and objects on rails作者
面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:ruby語(yǔ)言描述 作者介紹
作者簡(jiǎn)介
Sandi Metz 在處理經(jīng)歷不斷變化仍然存活的項(xiàng)目方面,Sandi Metz擁有30年的工作經(jīng)驗(yàn)。作為杜克大學(xué)的一名軟件架構(gòu)師,她每天都堅(jiān)持編寫(xiě)代碼。在杜克大學(xué)里,她的團(tuán)隊(duì)不斷地為許多客戶(hù)解決大量實(shí)際問(wèn)題。其中,有些客戶(hù)的應(yīng)用程序不僅具有規(guī)模大和面向?qū)ο蟮奶攸c(diǎn),而且已演變了15年之久。她全身心投入的工作是用簡(jiǎn)單實(shí)用的方法將有用的軟件提取出來(lái)。Sandi在Ruby Nation做過(guò)演講,在Gotham Ruby用戶(hù)大會(huì)上也演講過(guò)多次。本書(shū)是她做過(guò)的關(guān)于OO設(shè)計(jì)的談話匯集之后的必然成果。
譯者簡(jiǎn)介
張雪平 西南石油大學(xué)畢業(yè),模式識(shí)別與智能系統(tǒng)專(zhuān)業(yè),碩士研究生。擁有多年高校計(jì)算機(jī)相關(guān)課程的教學(xué)經(jīng)驗(yàn),熱衷于計(jì)算機(jī)應(yīng)用軟件的開(kāi)發(fā)與研究,F(xiàn)從事石油行業(yè)相關(guān)軟件的研發(fā)工作。
彭曉東 西南師范大學(xué)畢業(yè),計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)。10余年來(lái),一直從事高校計(jì)算機(jī)網(wǎng)絡(luò)管理、軟件開(kāi)發(fā)及教學(xué)工作。
面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:ruby語(yǔ)言描述
淘書(shū)團(tuán)
《宿白先生八秩華誕紀(jì)念文集》仿皮面精裝2冊(cè),收錄著名考古學(xué)家宿白先生不同年代學(xué)生...
¥49
“布蘭登·桑德森作品”7冊(cè),《伊嵐翠》一出版即獲得奇幻史詩(shī)大獎(jiǎng);《迷霧之子三部曲...
¥49
“青少版經(jīng)典文學(xué)名著”9冊(cè),采擷最具閱讀價(jià)值的不朽經(jīng)典,在尊重原著的基礎(chǔ)上適當(dāng)刪...
¥35
本文關(guān)鍵詞:面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:Ruby語(yǔ)言描述,由筆耕文化傳播整理發(fā)布。
本文編號(hào):131767
本文鏈接:http://www.sikaile.net/wenshubaike/mishujinen/131767.html