OOP Object-oriented programming
SRP - Single Responsibility Principle 單一職責(zé)原則
單一職責(zé)原則氯质,應(yīng)該有且只有一個(gè)原因引起類的變更募舟,即一個(gè)類、一個(gè)方法只應(yīng)該做一件事
典型案例: ImageLoader 有兩個(gè)職責(zé)闻察,下載和緩存
OCP -- Open Close Principle 開閉原則
開閉原則:對(duì)擴(kuò)展開發(fā)拱礁,對(duì)修改關(guān)閉
將執(zhí)行操作的對(duì)象,以及執(zhí)行的操作辕漂,以及要操作的對(duì)象呢灶,分別接口化,可以適應(yīng)需求的頻繁變更
LSP - Liskov Substitution Principle 里氏替換原則##
所以引用基類的地方必須能透明地使用其子類的對(duì)象
通俗講:只要父類能出現(xiàn)的地方子類就可以出現(xiàn)钉嘹,而且替換為其任意子類也不產(chǎn)生任何異常
子類必須完全實(shí)現(xiàn)父類的方法
子類可以有自己特有的屬性和方法
子類覆蓋或者實(shí)現(xiàn)父類的方法時(shí)鸯乃,參數(shù)可以被放大,因?yàn)樽宇愒O(shè)置的大了跋涣,使用父類的方法傳入的參數(shù)肯定符合子類重寫時(shí)的參數(shù)
子類覆蓋或者實(shí)現(xiàn)父類的方法時(shí)缨睡,返回值可以被縮小鸟悴,因?yàn)樽宇愋枰姆祷刂翟诟割愔锌隙梢允褂?/p>
DIP - Dependence Inversion Principle 依賴倒置原則
高層模塊不要依賴底層模塊,也就是依賴接口不要依賴實(shí)例
接口隔離
不要依賴用不到的接口
最小值是原則奖年、迪米勒原則
接口定義的要盡量小细诸,依賴也要盡量少