設(shè)計(jì)模式 - 七大原則

開(kāi)閉原則

對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉;再不修改原業(yè)務(wù)代碼的前提下,擴(kuò)展新功能。 ;

描述:開(kāi)閉原則 是 面向?qū)ο?/strong>設(shè)計(jì)的目的。應(yīng)該盡量面向 抽象層(接口、抽象類等)開(kāi)發(fā)

單一職責(zé)原則

主要針對(duì)功能提供方;根據(jù)業(yè)務(wù)將每一個(gè)類或者接口 提供盡可能小的粒度 的功能,最好一個(gè)或者一種 功能

There should never be more than one reason for a class to change
應(yīng)該有且僅有一個(gè)原因引起類的變化

接口隔離原則

主要為功能使用方考慮,提供給他的接口 只是 他需要的接口;

Clients should not be forced to depend upon interfaces that they don't use.
客戶端不應(yīng)該被迫依賴于他們不使用的接口。

The dependency of one class to another one should depend on the smallest possible interface.
類間的依賴關(guān)系應(yīng)該建立在盡可能小的接口上。

接口盡量細(xì)化,同時(shí)接口中的方法盡量少

描述:
接口隔離原則和單一職責(zé)都是為了提高類的內(nèi)聚性、降低它們之間的耦合性,體現(xiàn)了封裝的思想,但兩者是不同的:

  • 單一職責(zé)原則注重的是職責(zé),而接口隔離原則注重的是對(duì)接口依賴的隔離。
  • 單一職責(zé)原則主要是約束類,它針對(duì)的是程序中的實(shí)現(xiàn)和細(xì)節(jié);接口隔離原則主要約束接口,主要針對(duì)抽象和程序整體框架的構(gòu)建。

迪米特法則

“不和陌生人說(shuō)話”,又叫最少知識(shí)原則,只依賴和自己有關(guān)系的 類或者服務(wù)

描述:如果兩個(gè)軟件實(shí)體無(wú)須直接通信,那么就不應(yīng)當(dāng)發(fā)生直接的相互調(diào)用,可以通過(guò)第三方轉(zhuǎn)發(fā)該調(diào)用。其目的是降低類之間的耦合度,提高模塊的相對(duì)獨(dú)立性。

依賴倒置原則

實(shí)現(xiàn)不能依賴抽象,面向接口編程

描述核心思想:要面向接口編程,不要面向?qū)崿F(xiàn)編程。

里氏替換原則

使用子類 替換 父類后 不影響原有功能;不重寫父類方法,子類只新增方法

描述:里氏替換原則是面向?qū)ο?/strong>設(shè)計(jì)的基石;子類繼承父類,盡量 增加功能盡量新增方法,不要重寫父類方法

組合復(fù)用原則

能依賴類或者接口 組合起來(lái) 實(shí)現(xiàn)功能,不要繼承父類 實(shí)現(xiàn)功能;

描述:主要為了減少程序的 耦合度

?著作權(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)容

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