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

Java設(shè)計(jì)模式

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

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

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

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

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

設(shè)計(jì)模式的使用

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

開(kāi)發(fā)人員的通用平臺(tái)

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

最佳實(shí)踐

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

設(shè)計(jì)模式的類型

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

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

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

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

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

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