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