圍繞:設計、重構
理論基礎
1.面向對象
分裝、繼承、多態
多態:
重載(對象內部,方法名相同、參數不同)
重寫(父子類之間,方法名相同、參數相同)
2.設計的出發點-封裝分離變化
自然生長,不要為了做設計而設計
開閉原則
3.最重要的原則
開閉原則 COP :面向拓展開放,面向修改封閉。
依賴倒置原則 DIP :高層模塊不應該依賴低層模塊,二者都應該依賴其抽象;抽象不應該依賴細節;細節應該依賴抽象。
里氏替換原則:凡是父類可以出現的地方,子類是可以替換的。
。。。。
接口隔離原則
迪比特法則
好萊塢法則
4.具體的實施
1.分層次:高層(抽象層)、低層(具象層)
把修改封裝在具象層;
2.抽象
依賴倒置原則
3.UML
工具推薦:starUML
類圖:
類(類名、屬性、方法)
關系
組合<強于聚合關系,整體負責部分的生命周期>、
聚合<整體與部分的關系,例如成員變量>、
關聯<靜態聲明時有關系,如一個類知道另一個類的方法和屬性>、
依賴
1.策略模式
角色有:策略對象、策略類
2.命令模式
角色:命令、接收者、調用者
3.發布訂閱模式
4.代理模式
角色: 調用者、代理、被調用者
5.builder模式
director:導演,負責組裝
component:組件
參考資料
cop原則
dip原則
接口隔離原則
迪比特法則
好萊塢法則
里氏替換原則
切面編程
好書推薦
馬丁 《重構》
四人幫的 《設計模式》