
軟件設(shè)計(jì)培訓(xùn)
第一部分 好的設(shè)計(jì):“球不是這么踢的”
讓指導(dǎo)行動(dòng)
設(shè)計(jì)已死?
足夠好的軟件
化整為0,個(gè)個(gè)擊破
先實(shí)現(xiàn)后設(shè)計(jì)
第二部分 動(dòng)手!
從你的場景開始
獲取需求
場景驅(qū)動(dòng)與故事劃分
從測試開始
驅(qū)動(dòng)設(shè)計(jì)
實(shí)現(xiàn)
重構(gòu)
再設(shè)計(jì)
結(jié)對(duì)編程
第三部分 設(shè)計(jì)的原本
角色、職責(zé)、協(xié)作
再看封裝、抽象與多態(tài)
職責(zé)的封裝
重構(gòu)與設(shè)計(jì)模式是一種封裝技術(shù)
樁對(duì)象
重構(gòu)技術(shù)的變種
TDD、重構(gòu)導(dǎo)向模式
第四部分 用例驅(qū)動(dòng)設(shè)計(jì)
用例與功能
用例場景
健壯性分析圖
時(shí)序圖
協(xié)作圖
類圖
包圖
邏輯框架和層
模型-視圖分離原則
第五部分 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
何為“領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)”
通用語言
模型驅(qū)動(dòng)設(shè)計(jì)
面向深層理解的重構(gòu)
保持模型一致性
第六部分 職責(zé)驅(qū)動(dòng)設(shè)計(jì)
GRASP是什么?
創(chuàng)建者
信息
低耦合
控制器
高內(nèi)聚
多態(tài)
純虛構(gòu)
間接性
防止變異
第七部分 測試驅(qū)動(dòng)開發(fā)
保持節(jié)奏:紅色、綠色、重構(gòu)、模式
用ATDD滿足客戶需求
正確地做事:TDD
做正確的事:ATDD
增量式開發(fā)
重構(gòu)以保持代碼的健康
下士!保持綠色!
第八部分 設(shè)計(jì)模式
設(shè)計(jì)模式與變遷
行為型模式
創(chuàng)建型模式
結(jié)構(gòu)型模式
第九部分 設(shè)計(jì)原則
開閉原則
里氏科夫替換原則
單一職責(zé)原則
接口隔離原則
依賴倒置原則
不要重復(fù)你自己原則
你不需要它原則
KISS原則
第十部分 開發(fā)部曲
計(jì)劃游戲
簡單設(shè)計(jì)
測試驅(qū)動(dòng)開發(fā)
重構(gòu)
團(tuán)隊(duì)協(xié)作
持續(xù)構(gòu)建
迭代
反思改進(jìn)