設計模式——0

設計模式包含了面向對象的精髓,“懂了設計模式,你就懂了面向對象分析和設計的精要”。

七大原則:

  • 單一職責原則

對類來說的,即一個類應該只負責一項職責。

  • 接口隔離原則

客戶端不應該依賴它不需要的接口,即一個類對另一個類的依賴應該建立在最小的接口上。

  • 依賴倒置原則

高層模塊不應該依賴低層模塊,二者都應該依賴其抽象。

低層模塊儘量都要有抽象類或接口,或者兩者都有,程序穩定性更好。

抽象不應該依賴細節,細節應該依賴抽象。

依賴倒置的中心思想是面向接口編程。

繼承時遵循里氏替換原則。

依賴關係傳遞的三種方式:

  • 接口傳遞
  • 構造方法傳遞
  • setter 方法傳遞
  • 里氏替換原則

使用繼承會給程序帶來侵入性,程序的可移植性降低,增加對象之間的耦合性。

在使用繼承時,子類中儘量不要重寫父類的方法。

通用做法:原來的父類和子類都繼承一個更通俗的基類,原有的繼承關係去掉,採用依賴、聚合、組合等關係代替。

  • 開閉原則

一個軟件實體如類,模塊和函數應該對擴展開放(對提供方),對修改關閉(對使用方)。用抽象構建框架,用實現擴展細節。

開閉原則

  • 迪米特法則(最少知道原則)

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

只與直接的朋友通信。

直接的朋友:出現在成員變量、方法參數、方法返回值中的類爲直接的朋友,而出現在局部變量中的類不是直接的朋友。也就是說,陌生的類最好不要以局部變量的形式出現在內部。

  • 合成複用原則

儘量使用合成、聚合的方式,而不是使用繼承。

設計原則核心思想

  • 找出應用中可能需要變化之處,把它們獨立出來,不要和那些不需要變化的代碼混在一起。
  • 針對接口編程,而不是針對實現編程。
  • 爲了交互對象之間的松耦合設計而努力。

設計模式分爲三種類型:

  • 創建型模式:單例模式、工廠模式、抽象工廠模式、原型模式、建造者模式
  • 結構性模式:適配器模式、橋接模式、裝飾者模式、組合模式、外觀模式、享元模式、代理模式
  • 行爲型模式:模板方法模式、命令模式、訪問者模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式、狀態模式、策略模式、責任鏈模式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章