面向?qū)ο蟮牧笤O(shè)計(jì)原則

1、單一職責(zé)原則:一個(gè)類只有一個(gè)引起它變化的原因。說白了就是,一個(gè)類只有單一的一個(gè)功能,不同的類具備不同的職責(zé),各司其職。如果一個(gè)類有多種職責(zé),就應(yīng)該分成多個(gè)類。

2、開閉原則:對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。如果需要增加功能,那么就擴(kuò)展新類,而不是修改原來的類,所以在類設(shè)計(jì)時(shí)就要保證可以通過擴(kuò)展的方式來添加新功能。

3、里氏替換原則:在代碼中可以將父類全部替換為子類,程序不會(huì)報(bào)錯(cuò)。也就是父類的方法,在子類中全都有。反過來不一定行。子類可以擴(kuò)展父類的功能,但不能改變父類原有的功能。

4、接口隔離原則:客戶端不應(yīng)該依賴它不需要的接口;一個(gè)類與另一個(gè)類的依賴應(yīng)該建立在盡可能小的接口上。

5、依賴倒置原則:高層模塊不應(yīng)該依賴低層模塊,二者一個(gè)依賴抽象;抽象不應(yīng)該依賴細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴于抽象。就是說要針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程。就好比手機(jī)充電器,因?yàn)槌潆娊涌谑且粋€(gè)標(biāo)準(zhǔn),所以自己的充電器沒帶時(shí)借用別人的充電器也一樣能充電。

6、迪米特法則,也叫最少知道原則:如果兩個(gè)類不必彼此直接通信,那么這兩個(gè)類就不應(yīng)當(dāng)發(fā)生直接的相互作用。如果其中一個(gè)類需要調(diào)用另一個(gè)類的某一個(gè)方法的話,可以通過第三者轉(zhuǎn)發(fā)這個(gè)調(diào)用。根本思想就是強(qiáng)調(diào)類與類之間松耦合。類之間的耦合越弱,越有利于復(fù)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在應(yīng)用的開發(fā)過程中,最難的不是完成應(yīng)用的開發(fā)工作,而是在后續(xù)的升級(jí)、維護(hù)中讓應(yīng)用系統(tǒng)能夠擁抱變化。擁抱變化也就是意...
    GB_speak閱讀 389評(píng)論 0 1
  • 1.優(yōu)化代碼的第一步——單一職責(zé)原則(SRP) 定義:一個(gè)類中應(yīng)該是一組相關(guān)性很高的函數(shù)、數(shù)據(jù)的封裝。 也就兩個(gè)完...
    楓中無聲語閱讀 260評(píng)論 0 0
  • 單一職責(zé)原則 (SRP) 全稱 SRP , Single Responsibility Principle 單一職...
    米莉_L閱讀 1,870評(píng)論 2 5
  • 設(shè)計(jì)模式概述 在學(xué)習(xí)面向?qū)ο笃叽笤O(shè)計(jì)原則時(shí)需要注意以下幾點(diǎn):a) 高內(nèi)聚、低耦合和單一職能的“沖突”實(shí)際上,這兩者...
    彥幀閱讀 3,895評(píng)論 0 14
  • 前言 關(guān)于設(shè)計(jì)模式六大設(shè)計(jì)原則的資料網(wǎng)上很多,但感覺很多地方解釋地都太過于籠統(tǒng)化,特此再總結(jié)一波。 優(yōu)化第一步-單...
    ghroost閱讀 1,261評(píng)論 0 5

友情鏈接更多精彩內(nèi)容