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)模式
  • 備忘錄模式
  • 觀察者模式
  • 狀態模式
  • 策略模式
  • 模板模式
  • 存取者模式