1,單一職責(zé)原則
一個(gè)類只專注于做一件事;
高內(nèi)聚,低耦合;
2,開閉原則
對(duì)拓展開放,對(duì)修改關(guān)閉(盡可能不動(dòng)原有代碼進(jìn)行拓展);
高內(nèi)聚,低耦合;
為達(dá)到目的,需對(duì)系統(tǒng)進(jìn)行抽象化設(shè)計(jì)(關(guān)鍵);
3,里氏替換原則(LSP)
子類可以替換父類。屬于代碼規(guī)范。
(1)子類必須實(shí)現(xiàn)父類的抽象方法,單不得重寫父類的非抽象方法。
(2)子類中可以增加自己的特有方法。
(3)子類可以重載父類方法,單不能覆蓋
(4)子類實(shí)現(xiàn)抽象方法時(shí),返回值可以是父類返回值的子類
4,依賴倒置原則
面向接口編程,依賴于抽象而不依賴于具體類
5,接口隔離原則
使用多個(gè)專一功能的接口比使用一個(gè)總接口要好;
一個(gè)接口不能過于臃腫;
高內(nèi)聚可以使一個(gè)軟件功能拓展時(shí),修改的壓力不會(huì)影響到別的對(duì)象去。
6,迪米特法則(最少知識(shí)原則)
對(duì)象與對(duì)象直接應(yīng)該使用盡可能少的方法來關(guān)聯(lián),避免千絲萬(wàn)縷的關(guān)系;
低耦合;類知道其他類應(yīng)盡量少;類可以訪問其他類的方法或?qū)傩砸矐?yīng)盡量少;
打破設(shè)計(jì)原則的設(shè)計(jì)模式統(tǒng)計(jì):
