設計模式-設計原則

六大設計原則

  • 開閉原則

簡述:對修改關閉,對擴展開放編程

解讀:需求變動時,儘可能不要修改已有的代碼。this

  • 單一職責原則

簡述:一個類不該承擔過多的職責,或者說,就一個類而言,應該只有一個引發它變化的緣由設計

解讀:一個類不能承擔過多的功能,只專心一件事,並把這件事作好。對象

優勢:繼承

  • 下降類的複雜度
  • 提升類的可讀性
  • 下降變動引發的風險

小結:變動是必然的,若是單一職責遵照的好,當修改一個功能時,能夠顯著下降對其餘功能的影響。接口

  • 里氏替換原則(繼承關係)

簡述:全部引用父類(基類)的地方,必須能透明地使用其子類的對象。開發

解讀:繼承關係中,能用父類的地方,那麼其任何子類也能夠被正常調用,因此子類儘可能不要修改父類的方法擴展

  • 依賴倒轉原則(接口編程)

簡述:抽象不該該依賴於細節,細節當依賴於抽象。換言之,要針對接口編程,而非針對實現編程。引用

解讀:上述中抽象可簡單理解爲接口,細節就是接口的實現類。經過抽象或接口實現類與類之間的依賴關係程序

  • 接口隔離(接口隔離)

簡述:使用多個專門的接口,不使用單一的總接口。創建單一接口,不要創建龐大/臃腫的接口。

解讀:定義一個接口時不要定義的大而廣,而是把他們分割成一些更細小的接口。通常不知足單一職責原則都不知足接口隔離原則

小結:接口隔離原則核心思想就是細化接口,提升程序的靈活性。接口不能過小,若是過小會致使系統中接口氾濫,不利於維護。

  • 迪米特法則

簡述:一個實體儘量少的與另外一個實體發生相互做用。

解讀:其餘定義:不要和「陌生人」說話、只與你的朋友通訊等。

  1. 一個類只與它的朋友類交互 所謂一個的朋友,指的是:
  • 當前對象自己(this)
  • 以參數形式傳入到當前對象方法中的對象,或者返回的方法返回的對象
  • 當前對象的成員對象

小結:迪米特的目的就是下降系統的耦合度,使類與類之間保持鬆散的耦合關係。

  • 總結

  • 開閉原則,爲總大綱:要對擴展開發,對修改關閉

  • 單一職責,告訴咱們實現類的功能不要太多

  • 里氏替換,告訴咱們不要破壞類的繼承關係

  • 依賴倒置,告訴咱們要面向接口編程

  • 接口隔離,告訴咱們在設計接口時要精簡單一

  • 迪米特法則,告訴咱們下降耦合度

模式分類

  • 建立型,主要處理對象的建立,實例化對象
  • 結構型,處理類或對象的組合
  • 行爲型,描述類或者對象怎樣交換、職責分配
相關文章
相關標籤/搜索