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