理解設計模式


title: “理解設計模式”

url: “https://wsk1103.github.io/

tags:

  • 設計模式

設計模式

image

設計原則

1. 單一職責(單一功能原則)

規定每個類都應該有一個單一的功能,並且該功能能夠由這個類完全封裝起來。所有他(這個類)的服務都應該嚴密的和該功能平行(功能平行,即沒有任何依賴)。

保持一個類專注於單一功能點上的一個重要的原因是,他使得類更加健壯。

簡單通俗來說:一個類負責一項職責。

2 里氏替換原則

派生類(子類)對象可以在程式中代替其基類(父類)對象。

簡單通俗來說:子類可以擴展父類的功能,但是不能改變父類原有的功能。

3 依賴倒置原則

依賴於抽象,不依賴具體。實現開閉原則的關鍵是抽象,並且從抽象化導出具體實現,如果說開閉原則是面向對象設計的目標,那麼依賴倒置原則就是面向對象設計的主要手段。

定義:高層模塊不應該依賴底層模塊,而且都應該依賴其抽象,抽象不應該依賴細節,細節應該依賴抽象。

通俗說:要求對抽象進行編程,不要對實現進行編程。依賴倒置的核心思想是面向接口編程。

4 接口隔離原則

使用多個隔離的接口,比使用單個接口好。

建立單一接口,不要建立龐大臃腫的接口,儘量細化接口,接口中的方法儘量少。

和單一職責對比:

  1. 單一職責原則注重的是職責,而接口隔離原則注重的是對接口依賴的隔離。
  2. 單一職責主要是約束類,其次纔是接口和方法,他針對的是程序中的實現和細節。而接口隔離原則主要約束接口,主要針對抽象,針對程序整體框架的構建。

5 最少知道原則

一個對象應該對其他對象保存最少的瞭解。

通俗說:一個類對自己依賴的類知道的越少越好。也就是說,對於被依賴的類,無論邏輯多複雜,都儘量將邏輯封裝在類的內部,對外除了提供的public,不對外泄漏任何信息。

6 開閉原則

對擴展開放,對修改關閉。對程序進行擴展的時候,不能去修改原有的代碼。

開閉原則是面向對象編程設計中最基礎的設計原則。

總結:用抽象構建框架的時候,用實現擴展細節。單一職責原則說實現類要職責單一,里氏替換原則說不要破壞繼承體系,依賴倒置說要面向接口編程,接口隔離表示設計接口的時候要精簡單一,最少知道認爲要降低耦合。而開閉原則是總綱,宗旨是對擴展開放,對修改關閉。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章