鍍金池/ 教程/ Java/ Java設(shè)計模式
Java前端控制器模式
Java工廠設(shè)計模式
Java抽象工廠模式
Java觀察者模式
Java門面模式(或外觀模式)
Java備忘錄模式
Java MVC模式
Java單例模式
Java傳輸對象模式
Java迭代器模式
Java責(zé)任鏈模式
Java命令模式
Java原型模式
Java解釋器模式
Java適配器模式
Java狀態(tài)模式
Java中介者模式(Mediator Pattern)
Java攔截過濾器模式
Java策略模式
Java組合模式
Java業(yè)務(wù)代理模式
Java裝飾模式
Java模板模式
Java橋接模式
Java過濾器模式(條件模式)
Java享元模式(Flyweight Pattern)
Java建造者(Builder)模式
Java設(shè)計模式
Java空對象模式
Java數(shù)據(jù)訪問對象模式
Java訪問者模式
Java組合實體模式
Java服務(wù)定位器模式

Java設(shè)計模式

設(shè)計模式代表有經(jīng)驗的面向?qū)ο筌浖_發(fā)人員使用的最佳實踐。 設(shè)計模式是軟件開發(fā)人員在軟件開發(fā)過程中面臨的一般問題的解決方案。 這些解決方案是由許多軟件開發(fā)人員在相當(dāng)長的時間內(nèi)通過試錯獲得的。

設(shè)計模式四人幫(GOF)是什么?

1994年,有四位作者:Erich Gamma,Richard Helm,Ralph JohnsonJohn Vlissides發(fā)表了一本題為《設(shè)計模式 - 可重用的面向?qū)ο筌浖亍返膱D書,該書在軟件開發(fā)中開創(chuàng)了設(shè)計模式的概念。

這些作者被統(tǒng)稱為四人幫(GOF)。 根據(jù)這些作者,設(shè)計模式主要基于以下面向?qū)ο笤O(shè)計的原則:

  • 程序到一個接口不用實現(xiàn)。
  • 有利于對繼承對象組合。

設(shè)計模式的使用

設(shè)計模式在軟件開發(fā)中有兩個主要用途。

開發(fā)人員的通用平臺

設(shè)計模式提供了標準術(shù)語,并且特定于應(yīng)用折場景。 例如,單例設(shè)計模式表示使用單個對象,所以熟悉單一設(shè)計模式的所有開發(fā)人員都將使用單個對象,并且他們可以告訴對方程序正在遵循單例模式。

最佳實踐

設(shè)計模式已經(jīng)經(jīng)過一段很長的時間發(fā)展,它們?yōu)檐浖_發(fā)過程中面臨的某些問題提供了最佳解決方案。 學(xué)習(xí)這些模式有助于無經(jīng)驗的開發(fā)人員以一種簡單快捷的方式學(xué)習(xí)軟件設(shè)計。

設(shè)計模式的類型

根據(jù)設(shè)計模式參考《設(shè)計模式 - 可重用的面向?qū)ο筌浖亍?/strong>一書中所述,一共有23種設(shè)計模式可以分為三類:創(chuàng)造模式,結(jié)構(gòu)模式和行為模式。在這里我們還將討論另一類設(shè)計模式:J2EE設(shè)計模式。

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

另外,設(shè)計模式是與編程語言無關(guān)的,它是用于解決常見的面向?qū)ο蟮脑O(shè)計問題。
設(shè)計模式代表一個想法,而不是一個實現(xiàn)。
通過使用設(shè)計模式,可以使我們的代碼更靈活,可重用和可維護。
Java本身內(nèi)部遵循設(shè)計模式。

在核心java中,主要有三種類型的設(shè)計模式,它們可進一步分為以下子部分:

1. 創(chuàng)造設(shè)計模式

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