設計模式 七大原則

2021-10-04 20:12:51 字數 1202 閱讀 8564

23種設計模式,遵守軟邊編寫的七大原則,因此學好設計模式必要理解軟體編寫的七大原則

每個類均應只負責某一項職責。當類中的邏輯比較簡單,方法比較少時,可以在方法級別上遵守單一職責原則。即每個方法負責一項職責。

如userdao只應該負責關於使用者這一項職責,userdao的所有方法只應該 針對user表進行增刪改查,不應該出現其它表的操作。

當多個職責耦合在一起,其中乙個職責發生變化可能會影響其它職責。

繼承產生的弊端,比如使用繼承會給程式帶來侵入性,程式的可移植性降低,增加物件間的耦合性,如果乙個類被其它的類所繼承,則當這個類需要修改時,必須考慮到所有的子類,並且父類修改後,所有涉及到子類的功能都有可能產生故障。

黎克特制替換原則是程式中用到父類的地方都可以用其子類替換,所以要求其子類盡量不要去重寫父類已經實現的方法,因為子類重寫了父類的方法的話,當用到父類的地方用子類代替以後會導致呼叫子類重寫的方法,不會去呼叫父類的方法,會導致程式出現錯誤。

核心思想面向介面程式設計,細節依賴抽象。

細節:實現類

抽象:介面

類不要直接依賴其它類,要通過介面依賴其它的實現類。

例:當b介面有5個抽象方法(method1,method2,method3,method4,method5)

,類a需要用到method1,method2,method5所以只需要實現這三個方法,有兩個方法沒必要實現。

類c需要用到method3,method4,method5所以也只需要實現三個方法,有兩個方法沒必要實現。

這種情況下就需要用遵守介面隔離原則進行介面拆分。

將b介面拆分為三個介面分別擁有方法(method3,method4),(method1,method2),(method5)類a,c分別去實現對應的介面。

最少知道原則,即乙個類對自己依賴的類(a依賴b)知道的越少越好。被依賴的類(b)盡量將自己的邏輯封裝在自己的內部,提供乙個public方法供外部(a)呼叫,不要在a類去訪問b類的資訊,將b類的邏輯在a類實現。

直接朋友:每個類都會與其它類產生耦合,我們稱出現成員變數,方法引數,方法返回值中的類為直接朋友,而在區域性變數**現的類不是直接朋友,迪公尺特法則避免不是直接朋友的出現

對擴充套件開放(提供方),對修改關閉(對使用方)。

一般都是使用方依賴的抽象型別的物件(介面或者抽象類),去呼叫抽象方法完成某件事,當需要增加功能時,只需要提供方去增加乙個實現類去實現這個功能。使用方只需要控制型別。

盡量使用合成、聚合的方式代替繼承

設計模式七大原則

open closed principle ocp 最基礎的原則,對擴充套件開放,對修改關閉強調的是用抽象構建框架,用實現擴充套件細節,可以提高軟體系統的可復用性和可維護性 dependence inversion principle,dip 程式要依賴於抽象介面,不要依賴於具體實現。即面向介面程式...

設計模式 七大原則

懂了設計模式,你就懂了物件導向分析和設計 ooa d 的精要.編寫軟體的過程,面臨 耦合性 內聚性 維護性 可擴充套件性 重用性 靈活性 等各方面的挑戰。設計模式就是為了解決這些問題 程式設計時遵循的原則,各種設計模式的基礎 注意事項和細節 那麼問題來了,如何正確使用繼承?答案 黎克特制替換原則 基...

設計模式七大原則

編寫軟體過程中,程式設計師面臨著來自耦合性,內聚性以及可維護性,可擴充套件性,重用性,靈活性等多方面的挑戰,設計模式是為了讓程式具有更好以下特性 1 重用性 即 相同功能的 不用多次編寫 3 可擴充套件性 即 當需要增加新的功能時,非常的方便,稱為可維護 4 可靠性 即 當我們增加新的功能後,對原來...