設計模式初學習之六大原則

2021-08-28 21:24:37 字數 1092 閱讀 2858

六大原則:

書上這麼說,有些不太懂。

一,單一職責原則(single responsibility princple---srp)

定義:應該有且僅有乙個原因引起類的變更。(there should never be more than one reason for  a class to change)

適用於介面,類,方法設計。

在實際運用中因多種因素很難劃分單一職責。劃分過細會增加設計複雜度,成本等。因專案,環境而異。

優點:類的複雜性降低,可讀性高,可維護性高,可擴充套件

二,黎克特制替換原則(liskov substitution princple--lsp)

定義:繼承,子類可以替換父類,父類不一定能替換子類。

優點:**重用,減少建立類的工作量,子與父不同多型,擴充套件性,開放性

缺點:降低**靈活性,增強耦合,繼承是侵入性

繼承規範:1,子類必須完全實現父類的方法

2,子類可以有自己的個性

3,覆寫或實現父類的方法時輸入引數可以被放大

4,覆寫或實現父類的方法時輸出結果可以被縮小(感覺是繼承的語法規則)

書中建議盡量避免子類的個性  使用子類時缺乏類替換標準

三,依賴倒置原則(dependence inversion princple--dip)

定義:高層模組不依賴底層模組,兩者都依賴其抽象

抽象不依賴細節,細節依賴抽象    概括就是面向介面程式設計(沒啥經驗體會)

四,介面隔離原則()

定義:客戶端不依賴不需要的介面

類間的依賴建立在最小的介面上

乙個對外介面對應乙個模組(不提供不需要的方法不管是否按規矩不呼叫)

類間同上不提供多餘的介面方法,也即介面的細分(單一職責)。細分適度又是p

五,迪公尺特法則

定義:乙個物件應該對其他物件有最少的了解,(只關心自己用的其他一概不關心)

核心觀念就是類間解耦,弱耦合,提高復用,其結果產生大量的中轉或跳轉類   適可而止

六,開閉原則

變化時新增而不是修改,預留擴充套件介面,上述五大原則是其具體實現。

言而總之,總而言之,需求變了,你要改,系統要經的住,不能改崩了,改的還要少,越多越危險  穩定

設計模式之六大原則

無規矩不成方圓,同樣的設計模式也有其內定的一些規則,這些規則使得我們更加方面的使用設計模式的各種模式。以下簡介六個原則 1 單一職責原則 定義 就乙個類而言,應該僅有乙個引起它變化的原因。解釋 如果乙個類承擔的職責過多,則就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責...

設計模式之 六大原則

設計模式中,有六大經典的原則,以下是本人在學習過程中總結的,學習過程中參考了 大話設計模式 這本書,以下為個人見解,如有不當,請大家指出。以便幫助後學習的朋友更簡單的理解和學習。1 單一職責原則 single responsibility principle 顧名思義,單一職責,就是讓系統中的每個類...

設計模式之六大原則

設計模式 6大原則 概念 就乙個類而言,應該僅有乙個引起它變化的原因。解釋 所謂的單一職責,就是說乙個類能完成的功能只有乙個,如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。自我感覺乙個類就跟乙個人一樣,乙個人的精力是有限的,如果擔任過...