五大設計原則

2021-07-24 19:09:33 字數 991 閱讀 8568

單一職責:讓乙個類只負責乙個任務,類中的方法只做一件事

二開閉原則:對類的內部修改是關閉的,而對外的擴充套件是開放的。

三黎克特制替換原則:

1)子類可以覆蓋父類的抽象方法,但不能覆蓋非抽象方法。

2)如果需要覆蓋父類的非抽象方法,引數的型別必須要比父類的寬鬆,返回值型別必須要比父類嚴格。

3)子類可以擁有自己的成員方法。

四依賴倒置原則

1)高層模組不因該依賴底層模組,兩者應該依賴於抽象。

2)抽象不要依賴於細節,而細節應該依賴於抽象。

3)a---b (當a直接依賴了b物件,那麼這裡就是乙個緊耦合的,導致的結果就是當更換b元件de時候,會直接影響到a模組。)

4)因此,所謂的倒置,就是讓a和b之間不產生直接的依賴,而是讓這兩者都依賴乙個抽象(介面,抽象類)。

五ioc(控制反轉):它是依賴倒置原則的一種實現思想。

依賴倒置原則很好的解決了高層和底層之間的直接依賴,解決了層與層之間的耦合度問題。但是,並沒有解決物件的管理和裝備的責任。意思也就是,所有物件的建立與管理都必須在程式中完成。因此,當更換程式模組的時候,還是要修改原有的**,這樣又違背了開閉原則。

那麼控制反轉的思想,就是將這些物件的建立管理以及裝配等工作直接從程式中移除出來,交由給乙個第三方的管理者去負責,這樣就將物件的控制權轉移到了第三方的身上,這個過程就稱之為控制反轉。在控制反轉中都會有乙個第三方的容器去管理和儲存這些物件,這個容器就叫做ioc容器。

ioc容器可以提供兩中實現供客戶端使用:

1)依賴查詢:也就是客戶端主動的從容器中去查詢需要的物件。

2)依賴注入:正好和依賴查詢相反,客戶端所需的物件不需要自己去容器中查詢,而是由容器自動的把這個物件注入到客戶端中。(好萊塢原則,」你不來找我,我會來找你。「)

五介面隔離原則:

當不同的實現類實現了同乙個的介面時,個別的實現類其實並不需要實現其所有的方法的時候,這個介面設計是有問題的,也就是介面汙染。我們就必須要重新設計介面,將介面進行拆分。在設計階段尤為關鍵。

物件導向的五大設計原則

單一職責原則 乙個類,最好只做一件事,只有乙個引起它的變化。單一職責原則可以看做是低耦合 高內聚在物件導向原則上的引申,將職責定義為引起變化的原因,以提高內聚性來減少引起變化的原因。職責過多,可能引起它變化的原因就越多,這將導致職責依賴,相互之間就產生影響,從而大大損傷其內聚性和耦合度,通常意義下的...

OO設計五大原則

oo的五大原則是指srp ocp lsp dip isp 1.srp single responsibility principle 單一職責原則 單一職責很容易理解,所謂單一職責,就是乙個設計元素只做一件事。srp 原則的核心含義是只能讓乙個類有且只有乙個職責,永遠不要讓乙個類存在多個改變的理由。...

設計模式五大原則

1 單一職責 不論是在設計類,介面還是方法,單一職責都會處處體現,單一職責的定義 我們把職責定義為系統變化的原因。所有在定 義類,介面,方法的時候。定義完以後再去想一想是不能多於乙個的動機去改變這個類,介面,方法。如果答案是肯定的,說明定義的類,介面,方法則多於乙個職 責。故違背單一職責,遇到這種情...