Robert C.Martin是Object Mentor公司的總裁。Martin和他的軟件咨詢隊伍使用面向對象設計、模式、UML、敏捷方法學和極限編程,在世界各地都有他們的客戶。他還是好幾本暢銷書的作者。他還是1996-1999年《C Report》雜志的總編,并多次在國際會議和展覽中發表富有特色的演講。
第Ⅰ部分 敏捷開發
及時章 敏捷實踐
1.1 敏捷聯盟
1.2 原則
1.3 結論
參考文獻
第二章 極限編程概述
2.1 極限編程實踐
2.2 結論
參考文獻
第三章 計劃
3.1 初始探索
3.2 計劃
3.3 迭代計劃第Ⅰ部分 敏捷開發
及時章 敏捷實踐
1.1 敏捷聯盟
1.2 原則
1.3 結論
參考文獻
第二章 極限編程概述
2.1 極限編程實踐
2.2 結論
參考文獻
第三章 計劃
3.1 初始探索
3.2 計劃
3.3 迭代計劃
3.4 任務計劃
3.5 迭代
3.6 結論
參考文獻
第四章 測試
4.1 測試驅動的開發方法
4.2 驗收測試
4.3 結論
參考文獻
第五章 重構
5.1 素數產生程序一個簡單的重構示例
5.2 結論
參考文獻
第六章 一次編程實踐
6.1 保齡球比賽
6.2 結論
第Ⅱ部分 敏捷設計
第七章 什么是敏捷設計
7.1 軟件出了什么錯
7.2 設計的臭味——腐化軟件的氣味
7.3 “Copy”程序
7.4 保持盡可能好的設計
7.5 結論
參考文獻
第八章 單一責任原則(SRP)
8.1 單一職責原則(SRP)
8.2 結論
參考文獻
第九章 開放—封閉原則(OCP)
9.1 開放—封閉原則(OCP)
9.2 描述
9.3 關鍵是抽象
9.4 結論
參考文獻
第十章 Liskov替換原則(LSP)
10.1 Liskov替換原則(LSP)
10.2 一個違反LSP的簡單例子
10.3 正方形和矩形,更微妙的違規
10.4 一個實際的例子
10.5 用提取公共部分的方法代替繼承
10.6 啟發式規則和習慣用法
10.7 結論
參考文獻
第十一章 依賴倒置原則(DIP)
11.1 依賴倒置原則(DIP)
11.2 層次化
11.3 一個簡單的例子
11.4 熔爐示例
11.5 結論
參考文獻
第十二章 接口隔離原則(ISP)
12.1 接口污染
12.2 分離客戶就是分離接口
12.3 接口隔離原則(ISP)
12.4 類接口與對象接口
12.5 ATM用戶界面的例子
12.6 結論
參考文獻
第Ⅲ部分 薪水支付案例研究
第十三章 COMMAND模式和ACTIVE OBJECT模式
第十四章 TEMPLATE METHOD模式和STRATEGY模式:繼承與委托
第十五章 FACADE模式和MEDIATOR模式
第十六章 SINGLETON模式和MONOSTATE模式
第十七章 NULL OBJECT模式
第十八章 薪水支付案例研究:及時次迭代開始
第十九章 薪水支付案例研究:實現
第Ⅳ部分 打包薪水支付系統
第二十章 包的設計原則
第二十一章 FACTORY模式
第二十二章 薪水支付案例研究(第2部分)
第Ⅴ部分 氣象站案例研究
第二十三章 COMPOSITE模式
第二十四章 OBSERVER模式——回歸為模式
第二十五章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式
第二十六章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API
第二十七章 案例研究:氣象站
第Ⅵ部分 ETS案例研究
第二十八章 VISITOR模式
第二十九章 STATE模式
第三十章 ETS框架
附錄
附錄A UML表示法Ⅰ:CGI示例
附錄B UML表示法Ⅱ:統計多路復用器
附錄C 兩個公司的諷刺小品
附錄D 源代碼就是設計
索引
7.2 設計的臭味——腐化軟件的氣味
當軟件出現下面任何一種氣味時,就表明軟件正在腐化。
僵化性(Rigidity):很難對系統進行改動,因為每個改動都會迫使許多對系統其他部分的其他改動。
脆弱性(Fragility):對系統的改動會導致系統中和改動的地方在概念上無關的許多地方出現問題。
牢固性(Immobility):很難解開系統的糾結,使之成為一些可在其他系統中重用的組件。
粘滯性(Viscosity):做正確的事情比做錯誤的事情要困難。
不必要的復雜性(Needless Complexity):設計中包含有不具任何直接好處的基礎結構。
不必要的重復(Needless Repetition):設計中包含有重復的結構,而該重復的結構本可以使用單一的抽象進行統
這次非常值得程序員去閱讀!這對每個程序員來說都是一種更快提升自己的方式!
先下載的電子版的,看后確實很好,很實用,才購買的,不錯的一本書,很有收獲
大概掃了一下目錄,覺得很不錯,但是貌似紙張的質量有點對不起群眾
剛入手,翻了一下,感覺不錯,大師寫的書應該錯不了,翻譯也不錯
我比較的喜歡,內容比較的實際,并且結合了具體的項目進行論述,比較有說服力,值得一看
最近debug比較多,看了之后用不上,希望能夠進入code的環節,就能邊看邊練了。
當當搞活動時買入的,書很不錯,從理論到實踐,正在學習中。
很好的書,感覺讀了一部分之后對自己的開發時有幫助的,指導性很強
書沒看完,關鍵是基礎不夠,需要看一些其他的基礎類書籍才可以看這本書,不過的確經典
實際上開發的方法講的比較少,設計原則講的較多,適合純設計的人員。
個人感覺本書是對于從事軟件技術業的每個人不可或缺的一本書,需要多讀多想,理解本書傳達的理念不是一朝一夕可以做到的。
軟件工程領域的經典,從最初遇到此書到現在已經有10年了,10年里他對我幫助很大,強烈推薦IT領域的朋友閱讀
剛拿到就讀了一部分,感覺很好,對我很有啟發,期待讀完!
非常好,講怎么更好的控制項目的進度和產品的質量。也講解了設計模式的知識,正是現在我所需要的。
被客戶的敏捷開發唬住了去買的,書很好,有個作用是發現客戶只不過是在裝13。
還剛開始讀 據說是超經典的書 軟件開發思想永不過時 慕名而來
代碼中有印刷的錯誤,如定義一個I變量,結果卻使用i.
還沒看,應該還不錯。還買了一本Scrum敏捷開發,這兩本應該是相互補充,相得益彰吧。
敏捷開發的思潮和方法,講得很詳細,具有很強的指導意義,很棒的書。
物流太爛了,我拿到書時只用了一個塑料袋包裝,書角磨損。以后別在這里買東西了
不滿意,書封面角的地方掉了一小塊,而且有褶皺,感覺像舊的,紙張也一般
自己的水平跟不上,表示看不太懂,不過對能看懂的人應該來說是好書
這本書精辟地評述的敏捷開發的原則、模式和實踐,受益匪淺,特別是對正在做軟件開發人員幫助會很大。
從這本書中看到的不僅是敏捷開發設計的方法,更重要的是學習模式的一種探索,書中舉了大量的例子來論證模式的應用,對初學者很有裨益