浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開(kāi)發(fā)的演進(jìn)本質(zhì)
本文關(guān)鍵詞:浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開(kāi)發(fā)的演進(jìn)本質(zhì),由筆耕文化傳播整理發(fā)布。
浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開(kāi)發(fā)的演進(jìn)本質(zhì)
浮現(xiàn)式設(shè)計(jì)是一種敏捷技術(shù),強(qiáng)調(diào)在開(kāi)發(fā)過(guò)程中不斷演進(jìn)。《浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開(kāi)發(fā)的演進(jìn)本質(zhì)》的討論圍繞著專業(yè)軟件開(kāi)發(fā)方法的演進(jìn)主題展開(kāi),強(qiáng)調(diào)了讓軟件成為一個(gè)真正專業(yè)的重要性,以及以演進(jìn)方式開(kāi)發(fā)軟件的重大意義。書(shū)中談到了如何在演進(jìn)過(guò)程中綜合運(yùn)用設(shè)計(jì)模式、重構(gòu)、單元測(cè)試和測(cè)試驅(qū)動(dòng)開(kāi)發(fā)等實(shí)踐,,以及何時(shí)制定耦合、內(nèi)聚和封裝等關(guān)鍵決策,而且通過(guò)準(zhǔn)確生動(dòng)的示例說(shuō)明了如何開(kāi)發(fā)出真正有用的軟件。
《浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開(kāi)發(fā)的演進(jìn)本質(zhì)》主要面向軟件開(kāi)發(fā)者群體,尤其是對(duì)敏捷開(kāi)發(fā)感興趣的程序設(shè)計(jì)人員。
第1章 軟件開(kāi)發(fā)這個(gè)職業(yè)
1.1 人類制作軟件已經(jīng)有多久的歷史了
1.2 軟件開(kāi)發(fā)是一種什么樣的活動(dòng)
1.3 軟件開(kāi)發(fā)缺少了什么
1.4 誰(shuí)說(shuō)了算
1.5 獨(dú)特性
第2章 從衣櫥到探月
2.1 軟件開(kāi)發(fā)中的模式和專業(yè)化
2.2 Andrea的衣櫥
2.3 探月
2.3.1 因素的連鎖變化
2.3.2 不同的因素導(dǎo)致不同的設(shè)計(jì)
2.3.3 還有更多環(huán)境因素
2.3.4 成本和獲益
2.3.5 火星探險(xiǎn)
2.4 模式的價(jià)值
2.5 小結(jié)
第3章 軟件開(kāi)發(fā)的本質(zhì)
3.1 失敗率過(guò)高
3.2 成功的定義
3.3 Standish Group
3.4 做了錯(cuò)誤的事情
3.5 做事的方式錯(cuò)了
3.6 隨著時(shí)間的推移,軟件開(kāi)發(fā)也有所改善
3.7 一個(gè)原因:土木工程的類比
3.8 放棄希望
3.9 有時(shí)等待和拖延也是必要的
3.1 橋是硬的,軟件是軟的
3.11 我們?cè)谧兓暮Q笾杏斡?br>3.12 接受變化
3.13 擁抱變化
3.14 利用變化
3.15 更好的類比:不斷演進(jìn)的系統(tǒng)
3.16 小結(jié)
第4章 代碼的演進(jìn):初級(jí)階段
4.1 用對(duì)象結(jié)構(gòu)來(lái)代替過(guò)程邏輯
4.2 面向?qū)ο蠛湍J降钠鹪?br>4.3 一個(gè)示例:簡(jiǎn)單條件和Proxy模式
4.4 下一步:多路徑條件選擇
4.5 為什么要采用對(duì)象結(jié)構(gòu)
4.6 從多個(gè)條件中選擇一個(gè)
4.7 小結(jié)
第5章 使用和發(fā)現(xiàn)模式
5.1 根據(jù)上下文進(jìn)行設(shè)計(jì):我做的另一個(gè)木匠活
5.2 模式引出了另一個(gè)看問(wèn)題的角度
5.3 模式提供了一種討論設(shè)計(jì)的語(yǔ)言
5.4 本書(shū)中的模式
5.5 小結(jié)
第6章 軟件開(kāi)發(fā)金字塔
6.1 構(gòu)成專業(yè)的元素
6.2 一種形象的表示
6.3 小結(jié)
第7章 注重軟件質(zhì)量
7.1 封裝
7.2 內(nèi)聚
7.2.1 方法內(nèi)聚
7.2.2 視角層的內(nèi)聚
7.2.3 類內(nèi)聚
7.2.4 內(nèi)聚到何種程度才足夠
7.3 耦合
7.3.1 有意耦合與意外耦合
7.3.2 耦合類型
7.4 冗余
7.5 可測(cè)試性
7.6 可讀性
7.7 軟件的病癥
7.7.1 內(nèi)聚性較差的信號(hào)
7.7.2 意外耦合或不合邏輯耦合的信號(hào)
7.7.3 冗余的信號(hào)
7.8 小結(jié)
第8章 注重原則和智慧結(jié)晶
8.1 使用與創(chuàng)建分離
8.1.1 Fowler的三層視角
8.1.2 另一種視角
8.1.3 使用的視角
8.1.4 一個(gè)單獨(dú)的視角:創(chuàng)建
8.1.5 最后考慮構(gòu)造細(xì)節(jié)
8.1.6 回到現(xiàn)實(shí)
8.2 開(kāi)閉原則
8.2.1 類級(jí)的開(kāi)閉原則
8.2.2 方法級(jí)的開(kāi)閉原則
8.3 依賴倒置原則
8.4 GoF的建議
8.4.1 設(shè)計(jì)方法的接口
8.4.2 設(shè)計(jì)類的接口
8.4.3 GoF:優(yōu)先使用對(duì)象聚合而非類繼承
8.5 GoF:在設(shè)計(jì)中思考什么應(yīng)該變化并封裝會(huì)發(fā)生變化的概念
8.6 小結(jié)
第9章 注重實(shí)踐
9.1 統(tǒng)一編碼風(fēng)格
9.1.1 注釋
9.1.2 命名類、方法和變量
9.1.3 編碼標(biāo)準(zhǔn)的好處
9.2 意圖導(dǎo)向編程
9.3 封裝構(gòu)造函數(shù)
9.3.1 原則與實(shí)踐
9.3.2 做出決定
9.4 公共性-可變性分析
9.5 實(shí)踐與自由
9.6 小結(jié)
第10章 注重紀(jì)律:?jiǎn)卧獪y(cè)試
10.1 測(cè)試的經(jīng)濟(jì)學(xué)
10.1.1 單元測(cè)試
10.1.2 先寫(xiě)測(cè)試
10.2 JUnit框架
10.2.1 JUnit基礎(chǔ)知識(shí)
10.2.2 JUnit示例
10.2.3 Rule.java:先編碼,再測(cè)試
10.2.4 RuleContainer.java:先測(cè)試,再編碼
10.2.5 消除冗余:@Before和@After
10.2.6 自動(dòng)化批量測(cè)試
10.2.7 異常和單元測(cè)試
10.3 模擬對(duì)象
10.3.1 MockObject框架
10.3.2 偽對(duì)象
10.3.3 依賴注入和Endo-Testing技巧
10.3.4 Endo-Testing
10.4 小結(jié)
第11章 注重紀(jì)律:重構(gòu)
11.1 重構(gòu)質(zhì)量糟糕的代碼
11.2 重構(gòu)質(zhì)量?jī)?yōu)秀的代碼
11.3 結(jié)構(gòu)變化與功能變化
11.4 重構(gòu)可幫助你做出選擇
11.5 模式可以成為重構(gòu)的目標(biāo)
11.6 避免重構(gòu):預(yù)構(gòu)
11.7 重構(gòu)技巧
11.8 重構(gòu)遺留代碼
11.9 小結(jié)
第12章 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
12.1 何謂測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
12.1.1 測(cè)試驅(qū)動(dòng)與先寫(xiě)測(cè)試
12.1.2 從單元測(cè)試的角度來(lái)設(shè)計(jì)
12.2 測(cè)試與質(zhì)量
12.2.1 測(cè)試與內(nèi)聚
12.2.2 測(cè)試與耦合
12.2.3 測(cè)試與冗余
12.3 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)與模式
12.3.1 Strategy模式
12.3.2 烏龜站在烏龜上,一直向下
12.3.3 模擬對(duì)象/模擬烏龜
12.4 模擬對(duì)象
12.5 模擬烏龜
12.6 測(cè)試Decorator模式
12.7 小結(jié)
第13章 模式與因素
13.1 在演進(jìn)的設(shè)計(jì)中做決策
13.2 Christopher Apexander與他所提出的“因素”
13.2.1 信號(hào)處理器示例
13.2.2 PKZip示例
13.2.3 測(cè)試與因素
13.3 更多選擇,更多因素
13.4 小結(jié)
第14章 浮現(xiàn)式設(shè)計(jì):案例分析
14.1 問(wèn)題領(lǐng)域:MWave公司
14.2 團(tuán)隊(duì)
14.3 最簡(jiǎn)單的能夠正常運(yùn)作的設(shè)計(jì)
14.4 新需求:更復(fù)雜的機(jī)器
14.5 順便介紹一下
14.6 更多好消息
14.7 小結(jié):設(shè)計(jì)是一次漫長(zhǎng)而奇特的旅行
第15章 結(jié)束語(yǔ):展望2020年
附錄A 演進(jìn)路徑
附錄B 示例中用到的模式簡(jiǎn)介
附錄C 有用幻覺(jué)之原理
參考書(shū)目
本文關(guān)鍵詞:浮現(xiàn)式設(shè)計(jì):專業(yè)軟件開(kāi)發(fā)的演進(jìn)本質(zhì),由筆耕文化傳播整理發(fā)布。
本文編號(hào):97924
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/97924.html