1. 程式人生 > >Java 之設計模式(總述)

Java 之設計模式(總述)

作用 觀察者 中介 備忘 外觀 觀察 面向 其他 blog

1. 面向對象設計原則

  • 單一職責原則: 一個類只負責一個功能領域中的相應職責
  • 開閉原則: 軟件實體應對擴展開放,而對修改關閉;
  • 裏氏代換原則: 所有引用基類對象的地方能夠透明地使用其子類的對象;
  • 依賴倒轉原則: 抽象不應該依賴於細節,細節應該依賴於抽象;
  • 接口隔離原則: 使用多個專門的接口,而不使用單一的總接口;
  • 合成復用原則: 盡量使用對象組合,而不是繼承來達到復用的目的;
  • 迪米特法則: 一個軟件實體應當盡可能少地與其他實體發生相互作用;

2. 軟件模式的基礎結構包括四部分:

  • 問題描述(待解決的問題是什麽)
  • 前提條件(在何種環境或約束條件下使用)
  • 解法(如何解決)
  • 效果(有哪些優缺點)

3. 根據用途,設計模式分為:

  • 創建型(描述如何創建對象) 5種
  • 結構型(描述如何實現類或對象的組合) 7種
  • 行為型(描述類或對象怎樣交互以及怎樣分配職責) 11種

3.1 創建型模式:

  • 簡單工廠模式
  • 工廠方法模式
  • 抽象工廠模式
  • 單例模式
  • 原型模式
  • 建造者模式

3.2 結構型模式:

  • 適配器模式
  • 橋接模式
  • 組合模式
  • 裝飾模式
  • 外觀模式
  • 享元模式
  • 代理模式

3.3 行為型模式:

  • 職責鏈模式
  • 命令模式
  • 解釋器模式
  • 叠代器模式
  • 中介者模式
  • 備忘錄模式
  • 觀察者模式
  • 狀態模式
  • 策略模式
  • 模板方法模式
  • 訪問者模式


參考資料:

  • 設計模式(Java版)

Java 之設計模式(總述)