簡述七大開發原則

2021-10-04 09:54:31 字數 1979 閱讀 6814

概念:乙個類只負責乙個職責。

若乙個類負責兩個職責,當其中乙個職責變更時,可能造成另一各職責執行錯誤(比如,在dao中,若是又對user表進行crud,並且同時又對order表進行crud,可能造成資料錯誤)。

優點:

概念:客戶端不應該依賴他不需要的介面。也就是說乙個類對另乙個類的依賴應該建立在最小介面上。

減少依賴,通過介面隔離的使用減少不需要的方法。

(比如說,a需要通過介面1來實現b的1,2,3方法,但是b有5個方法)

概念:高層模組不應該依賴於低層模組,二者都應該依賴於抽象(抽象類或者介面)

使用介面或者抽象類的目的是制定好規範,不涉及具體細節操作,把細節操作交給實現類。

優點:當使用了介面,我們就可以通過實現類去自定義的修改介面中的方法(方便)。

若是沒有使用介面或者是抽象類。當乙個類去引用另乙個類的時候,我們就要過載其方法,非常的不方便。

(比如我要發訊息,我可以通過email這個類,但是我要是通過打**呢,我是不是就要修改方法裡的引數,過載其該方法)

概念:減少兩個類的依賴關係,通過乙個公共的類將其公共部分提取出來。(比如類a繼承類b,我們將寫乙個類base,讓他們兩個繼承base)

優點:比如,若是類b繼承類a,其類a有【方法(num1 – num2)】。

類b不小心將其方法給重寫成為【方法(num1 + num2)】,於是當類b執行的時候,不是其想要的結果。

於是將公共部分提出,就是正確使用繼承!!!

概念:用抽象的方式構建框架,用實現類擴充套件細節。

並且當軟體的**需要變化的時候,盡量通過擴充套件的方式,而不是用修改的方式。

(比如,你修改了一些軟體**,別人正在用這個軟體呢,會造成不必要的麻煩,但是如果是增加方法的話就不會造成影響)

概念:形象一點來說,就是與直接朋友通訊。直接朋友也就是成員變數,方法引數,方法返回值。

怎麼理解呢,類與類之間的關係越密切,耦合程度越大,因此迪公尺特原則就是說,為了降低耦合,類與類之間的引用,都應該盡量將自己的邏輯封裝到類的內部,只對外提供乙個public介面即可。

間接朋友也就是出現在區域性變數中的類。

概念:避免使用繼承,因為依賴關係太強了,造成高耦合。盡量使用合成或者聚合的或者組合的方式。

七大設計原則

開閉原則 定義 乙個軟體實體如類 模組和函式應該對擴充套件開放 對修改關閉 用抽象構建框架,用實現擴充套件細節 優點 提高軟體系統的可復用性及可維護性 依賴倒置原則 定義 高層模組不應該依賴低層模組,二者都應該依賴其抽象 抽象不應該依賴細節,細節應該依賴抽象 針對介面程式設計,不要針對實現程式設計 ...

七大設計原則

開閉原則 open closed principle,ocp 是指乙個軟體實體如類 模組和函式應該對擴充套件開放,對修改關閉。強調的是用抽象構建框架,用實現擴充套件細節。可以提高軟體系統的可復用性及可維護性。開閉原則即是面向介面程式設計 開閉原則的實現方法 為了滿足開閉原則的對修改關閉原則以及擴充套...

七大設計原則

核心 解耦和增強內聚性 高內聚,低耦合 說明 就乙個類而言,應該只專注於做一件事和僅有乙個引起它變化的原因。所謂職責,我們可以理解他為功能,就是設計的這個類功能應該只有乙個,而不是兩個或更多。也可以理解為引用變化的原因,當你發現有兩個變化會要求我們修改這個類,那麼你就要考慮撤分這個類了。因為職責是變...