Java設計模式


設計模式代表有經驗的面向對象軟件開發人員使用的最佳實踐。 設計模式是軟件開發人員在軟件開發過程中面臨的一般問題的解決方案。 這些解決方案是由許多軟件開發人員在相當長的時間內通過試錯獲得的。

設計模式四人幫(GOF)是什麼?

1994年,有四位作者:Erich GammaRichard HelmRalph JohnsonJohn Vlissides發表了一本題爲《設計模式 - 可重用的面向對象軟件元素》的圖書,該書在軟件開發中開創了設計模式的概念。

這些作者被統稱爲四人幫(GOF)。 根據這些作者,設計模式主要基於以下面向對象設計的原則:

  • 程序到一個接口不用實現。
  • 有利於對繼承對象組合。

設計模式的使用

設計模式在軟件開發中有兩個主要用途。

開發人員的通用平臺

設計模式提供了標準術語,並且特定於應用折場景。 例如,單例設計模式表示使用單個對象,所以熟悉單一設計模式的所有開發人員都將使用單個對象,並且他們可以告訴對方程序正在遵循單例模式。

最佳實踐

設計模式已經經過一段很長的時間發展,它們爲軟件開發過程中面臨的某些問題提供了最佳解決方案。 學習這些模式有助於無經驗的開發人員以一種簡單快捷的方式學習軟件設計。

設計模式的類型

根據設計模式參考《設計模式 - 可重用的面向對象軟件元素》一書中所述,一共有23種設計模式可以分爲三類:創造模式,結構模式和行爲模式。在這裏我們還將討論另一類設計模式:J2EE設計模式。

編號 模式和說明
1 創造模式 -這些設計模式提供了一種創建對象而隱藏創建邏輯的方法,而不是直接使用 new 操作符來實例化對象。 這使程序在決定對於給定的用例需要創建哪些對象時具有更大的靈活性。
2 結構模式 - 這些設計模式涉及類和對象組成。 繼承概念用於組成接口並定義方法組合對象以獲得新功能。
3 行爲模式 - 這些設計模式是特別側重於對象之間的通信。
4 J2EE模式 - 這些設計模式特別涉及表示層。 這些模式由Sun Java Center標識。

另外,設計模式是與編程語言無關的,它是用於解決常見的面向對象的設計問題。
設計模式代表一個想法,而不是一個實現。
通過使用設計模式,可以使我們的代碼更靈活,可重用和可維護。
Java本身內部遵循設計模式。

在覈心java中,主要有三種類型的設計模式,它們可進一步分爲以下子部分:

1. 創造設計模式

  • 工廠模式
  • 抽象工廠模式
  • 單例模式
  • 原型模式
  • Builder模式
  1. 結構設計模式
  • 適配器(Adapter)模式
  • 橋接(Bridge)模式
  • 組合模式
  • 裝飾者(Decorator)模式
  • 外觀(Facade)模式
  • 享元(Flyweight)模式
  • 代理(Proxy)模式
  1. 行爲設計模式
  • 責任鏈模式
  • 命令模式
  • 解釋器模式
  • 迭代器模式
  • 調解者(Mediator)模式
  • 備忘錄模式
  • 觀察者模式
  • 狀態模式
  • 策略模式
  • 模板模式
  • 訪問者模式