設計模式代表有經驗的物件導向軟體開發人員使用的最佳實踐。 設計模式是軟體開發人員在軟體開發過程中面臨的一般問題的解決方案。 這些解決方案是由許多軟體開發人員在相當長的時間內通過試錯獲得的。
1994年,有四位作者:Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides發表了一本題為《設計模式 - 可重用的物件導向軟體元素》的圖書,該書在軟體開發中開創了設計模式的概念。
這些作者被統稱為四人幫(GOF)。 根據這些作者,設計模式主要基於以下物件導向設計的原則:
設計模式在軟體開發中有兩個主要用途。
設計模式提供了標準術語,並且特定於應用折場景。 例如,單例設計模式表示使用單個物件,所以熟悉單一設計模式的所有開發人員都將使用單個物件,並且他們可以告訴對方程式正在遵循單例模式。
設計模式已經經過一段很長的時間發展,它們為軟體開發過程中面臨的某些問題提供了最佳解決方案。 學習這些模式有助於無經驗的開發人員以一種簡單快捷的方式學習軟體設計。
根據設計模式參考《設計模式 - 可重用的物件導向軟體元素》一書中所述,一共有23
種設計模式可以分為三類:創造模式,結構模式和行為模式。在這裡我們還將討論另一類設計模式:J2EE設計模式。
編號 | 模式和說明 |
---|---|
1 | 創造模式 -這些設計模式提供了一種建立物件而隱藏建立邏輯的方法,而不是直接使用 new 操作符來範例化物件。 這使程式在決定對於給定的用例需要建立哪些物件時具有更大的靈活性。 |
2 | 結構模式 - 這些設計模式涉及類和物件組成。 繼承概念用於組成介面並定義方法組合物件以獲得新功能。 |
3 | 行為模式 - 這些設計模式是特別側重於物件之間的通訊。 |
4 | J2EE模式 - 這些設計模式特別涉及表示層。 這些模式由Sun Java Center 標識。 |
另外,設計模式是與程式設計語言無關的,它是用於解決常見的物件導向的設計問題。
設計模式代表一個想法,而不是一個實現。
通過使用設計模式,可以使我們的程式碼更靈活,可重用和可維護。
Java本身內部遵循設計模式。
在核心java中,主要有三種型別的設計模式,它們可進一步分為以下子部分:
1. 創造設計模式