Robert C.Martin是Object Mentor公司的總裁。Martin和他的軟件咨詢隊(duì)伍使用面向?qū)ο笤O(shè)計(jì)、模式、UML、敏捷方法學(xué)和極限編程,在世界各地都有他們的客戶。他還是好幾本暢銷書的作者。他還是1996-1999年《C Report》雜志的總編,并多次在國(guó)際會(huì)議和展覽中發(fā)表富有特色的演講。
第Ⅰ部分 敏捷開發(fā)
及時(shí)章 敏捷實(shí)踐
1.1 敏捷聯(lián)盟
1.2 原則
1.3 結(jié)論
參考文獻(xiàn)
第二章 極限編程概述
2.1 極限編程實(shí)踐
2.2 結(jié)論
參考文獻(xiàn)
第三章 計(jì)劃
3.1 初始探索
3.2 計(jì)劃
3.3 迭代計(jì)劃
3.4 任務(wù)計(jì)劃
3.5 迭代
3.6 結(jié)論
參考文獻(xiàn)
第四章 測(cè)試
4.1 測(cè)試驅(qū)動(dòng)的開發(fā)方法
4.2 驗(yàn)收測(cè)試
4.3 結(jié)論
參考文獻(xiàn)
第五章 重構(gòu)
5.1 素?cái)?shù)產(chǎn)生程序一個(gè)簡(jiǎn)單的重構(gòu)示例
5.2 結(jié)論
參考文獻(xiàn)
第六章 一次編程實(shí)踐
6.1 保齡球比賽
6.2 結(jié)論
第Ⅱ部分 敏捷設(shè)計(jì)
第七章 什么是敏捷設(shè)計(jì)
7.1 軟件出了什么錯(cuò)
7.2 設(shè)計(jì)的臭味——腐化軟件的氣味
7.3 “Copy”程序
7.4 保持盡可能好的設(shè)計(jì)
7.5 結(jié)論
參考文獻(xiàn)
第八章 單一責(zé)任原則(SRP)
8.1 單一職責(zé)原則(SRP)
8.2 結(jié)論
參考文獻(xiàn)
第九章 開放—封閉原則(OCP)
9.1 開放—封閉原則(OCP)
9.2 描述
9.3 關(guān)鍵是抽象
9.4 結(jié)論
參考文獻(xiàn)
第十章 Liskov替換原則(LSP)
10.1 Liskov替換原則(LSP)
10.2 一個(gè)違反LSP的簡(jiǎn)單例子
10.3 正方形和矩形,更微妙的違規(guī)
10.4 一個(gè)實(shí)際的例子
10.5 用提取公共部分的方法代替繼承
10.6 啟發(fā)式規(guī)則和習(xí)慣用法
10.7 結(jié)論
參考文獻(xiàn)
第十一章 依賴倒置原則(DIP)
11.1 依賴倒置原則(DIP)
11.2 層次化
11.3 一個(gè)簡(jiǎn)單的例子
11.4 熔爐示例
11.5 結(jié)論
參考文獻(xiàn)
第十二章 接口隔離原則(ISP)
12.1 接口污染
12.2 分離客戶就是分離接口
12.3 接口隔離原則(ISP)
12.4 類接口與對(duì)象接口
12.5 ATM用戶界面的例子
12.6 結(jié)論
參考文獻(xiàn)
第Ⅲ部分 薪水支付案例研究
第十三章 COMMAND模式和ACTIVE OBJECT模式
第十四章 TEMPLATE METHOD模式和STRATEGY模式:繼承與委托
第十五章 FACADE模式和MEDIATOR模式
第十六章 SINGLETON模式和MONOSTATE模式
第十七章 NULL OBJECT模式
第十八章 薪水支付案例研究:及時(shí)次迭代開始
第十九章 薪水支付案例研究:實(shí)現(xiàn)
第Ⅳ部分 打包薪水支付系統(tǒng)
第二十章 包的設(shè)計(jì)原則
第二十一章 FACTORY模式
第二十二章 薪水支付案例研究(第2部分)
第Ⅴ部分 氣象站案例研究
第二十三章 COMPOSITE模式
第二十四章 OBSERVER模式——回歸為模式
第二十五章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式
第二十六章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API
第二十七章 案例研究:氣象站
第Ⅵ部分 ETS案例研究
第二十八章 VISITOR模式
第二十九章 STATE模式
第三十章 ETS框架
附錄
附錄A UML表示法Ⅰ:CGI示例
附錄B UML表示法Ⅱ:統(tǒng)計(jì)多路復(fù)用器
附錄C 兩個(gè)公司的諷刺小品
附錄D 源代碼就是設(shè)計(jì)
索引
7.2 設(shè)計(jì)的臭味——腐化軟件的氣味
當(dāng)軟件出現(xiàn)下面任何一種氣味時(shí),就表明軟件正在腐化。
僵化性(Rigidity):很難對(duì)系統(tǒng)進(jìn)行改動(dòng),因?yàn)槊總€(gè)改動(dòng)都會(huì)迫使許多對(duì)系統(tǒng)其他部分的其他改動(dòng)。
脆弱性(Fragility):對(duì)系統(tǒng)的改動(dòng)會(huì)導(dǎo)致系統(tǒng)中和改動(dòng)的地方在概念上無關(guān)的許多地方出現(xiàn)問題。
牢固性(Immobility):很難解開系統(tǒng)的糾結(jié),使之成為一些可在其他系統(tǒng)中重用的組件。
粘滯性(Viscosity):做正確的事情比做錯(cuò)誤的事情要困難。
不必要的復(fù)雜性(Needless Complexity):設(shè)計(jì)中包含有不具任何直接好處的基礎(chǔ)結(jié)構(gòu)。
不必要的重復(fù)(Needless Repetition):設(shè)計(jì)中包含有重復(fù)的結(jié)構(gòu),而該重復(fù)的結(jié)構(gòu)本可以使用單一的抽象進(jìn)行統(tǒng)
很好的描述了敏捷開發(fā),適合愿意了解敏捷開發(fā)的人閱讀
北京同學(xué)推薦的書,覺得還不錯(cuò)的。專業(yè)書籍,經(jīng)典
學(xué)習(xí)編程必讀之書. 太經(jīng)典了, 就不用再多說什么了.
公司實(shí)施敏捷開發(fā)快三年多了,結(jié)合實(shí)際項(xiàng)目看這本書,感覺收獲很大
內(nèi)容不錯(cuò),性價(jià)比高,可以對(duì)敏捷開發(fā)有較好的理解
對(duì)大家了解敏捷的初衷起到很大幫助,但是敏捷近些年也出現(xiàn)太多分支,不管怎么樣這本書還是基礎(chǔ)之作。
本次因沒有紙箱在外邊保護(hù)書籍,僅有紙袋,有的書潮濕了,想換又嫌麻煩。真的很不開心。
很不錯(cuò)的書,適合對(duì)軟件設(shè)計(jì)模式,uml,軟件重構(gòu),測(cè)試等知識(shí)有一定基礎(chǔ),但經(jīng)驗(yàn)較少的人學(xué)習(xí)。對(duì)于面向?qū)ο蟮幕A(chǔ)原則的解釋深入潛淺出,非常透徹。遠(yuǎn)非很多國(guó)內(nèi)的照抄概念的騙錢書可比。非常推薦!
這本書最先是一個(gè)資深的開發(fā)同事推薦的,借著看完了,講解透徹、簡(jiǎn)單易懂,不失為一本開發(fā)人員常備的書籍,書中的一些原則思想靈活多變,多看看,能極大提高自己的能力,因?yàn)橛X得真不錯(cuò),所以干脆買了一本。
包裝不錯(cuò),紙質(zhì)也挺好,就是系統(tǒng)有點(diǎn)坑,顯示的電話居然是空號(hào),物流也真坑,到了兩天才配送,有快遞柜不放,直接扔門口,也沒電話說一聲,別人拿走了都不知道。。。
本書對(duì)敏捷開發(fā)和設(shè)計(jì)模式有比較不錯(cuò)的講解,其中對(duì)敏捷開發(fā)講的還算詳細(xì),但后來對(duì)各個(gè)設(shè)計(jì)模式的講解只是一帶而過的感覺,學(xué)習(xí)設(shè)計(jì)模式的初學(xué)者推薦"大話設(shè)計(jì)模式"
一本把設(shè)計(jì)模式、敏捷開發(fā)、面向?qū)ο蠛芎萌诤显谝黄鸬暮脮ㄗh有基礎(chǔ)再去看這本書,要是深刻理解書中內(nèi)容,需要相關(guān)的項(xiàng)目經(jīng)驗(yàn)。
這本書真的是太好了,更好的翻譯也很不錯(cuò),很難得的國(guó)內(nèi)游這么強(qiáng)的翻譯了。大師的作品確實(shí)經(jīng)典,對(duì)面向?qū)ο蟮睦斫鈺?huì)更加深刻。把平時(shí)的實(shí)現(xiàn)上升到理論的高度,然后根據(jù)對(duì)理論的深入的立即,去指導(dǎo)實(shí)踐,我相信你的編程能力會(huì)飛速發(fā)展。
值得多次閱讀的書籍,書中許多實(shí)例與開發(fā)模式相結(jié)合,能夠在日常工作中得到很好的應(yīng)用。另外本書推崇的迭代開發(fā),少量多次的提交,以及重視客戶反饋都是具有建設(shè)性意見。目前我所在公司正在推廣迭代開發(fā)模式,所以重讀此書,收獲不少。
敏捷軟件開發(fā)——原則、模式與實(shí)踐捷實(shí)踐第二章極限編程概述第R三章計(jì)劃第四章測(cè)試第五章重構(gòu)第六章一次編程實(shí)踐第Ⅱ部分敏捷設(shè)計(jì)第七章什6么是程方面
幾年前我就想買一本關(guān)于軟件工程的書,可是書店里的書魚目混雜讓人眼花潦亂,尢其對(duì)于初學(xué)者來說更是難分精劣,所以也上過很多回當(dāng)啊,一般的書千篇一律,基本上就是copy真不知道寫書者的腦子里邊除了金錢還有沒有別的東西了。后來總結(jié)出了一條買書的秘籍就是看到一本主你心動(dòng)的書時(shí),先不要沖動(dòng)哦,先網(wǎng)上查查關(guān)于該書的評(píng)價(jià),網(wǎng)友的評(píng)價(jià)都是純潔的啊,,比如這本書絕對(duì)是一本好書,對(duì)于軟件開發(fā)人員絕對(duì)是超值的..剛拿到書時(shí)直是有相見恨晚的感覺,希望業(yè)界大師們不要吝惜筆墨多多出些經(jīng)典,造福軟件行業(yè)...