單一職責(zé)原則
1.代碼優(yōu)化的第一步
2.兩個(gè)完全不一樣的功能不應(yīng)該放在一個(gè)類中。一個(gè)類中應(yīng)該是一組相關(guān)性很高的函數(shù)、數(shù)據(jù)的封裝。
3.如何劃分一個(gè)類功能,每個(gè)人都有自己的看法,需根據(jù)個(gè)人經(jīng)驗(yàn)、具體的業(yè)務(wù)邏輯而定。
開閉原則
1.軟件中的對象(類、模塊、函數(shù)等)應(yīng)該對于擴(kuò)展是開放的,對于修改是封閉的。
2.遵守開閉原則的重要手段應(yīng)該是通過抽象接口
3.ImageCache --> MemoryCache、DiskCache、DoubleCache...(setImageCache)
里氏替換原則
1.繼承特性
2.封裝特性
3.開閉原則和里氏替換原則往往是生死相依、不離不棄的,通過里氏替換原則來達(dá)到對擴(kuò)展開放,對修改關(guān)閉的效果。