溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java常用的設(shè)計(jì)模式有哪些

發(fā)布時(shí)間:2021-03-24 12:37:23 來(lái)源:億速云 閱讀:184 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下Java常用的設(shè)計(jì)模式有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Java常用的五種設(shè)計(jì)模式:1、單例設(shè)計(jì)模式;2、工廠設(shè)計(jì)模式;3、代理設(shè)計(jì)模式;4、觀察者設(shè)計(jì)模式;5、適配器模式。

Java常用的五種設(shè)計(jì)模式:

1、單例設(shè)計(jì)模式

所謂單例設(shè)計(jì)模式簡(jiǎn)單說(shuō)就是無(wú)論程序如何運(yùn)行,采用單例設(shè)計(jì)模式的類(lèi)(Singleton類(lèi))永遠(yuǎn)只會(huì)有一個(gè)實(shí)例化對(duì)象產(chǎn)生。具體實(shí)現(xiàn)步驟如下:

(1) 將采用單例設(shè)計(jì)模式的類(lèi)的構(gòu)造方法私有化(采用private修飾)。

(2) 在其內(nèi)部產(chǎn)生該類(lèi)的實(shí)例化對(duì)象,并將其封裝成private static類(lèi)型。

(3) 定義一個(gè)靜態(tài)方法返回該類(lèi)的實(shí)例。

2、工廠設(shè)計(jì)模式

程序在接口和子類(lèi)之間加入了一個(gè)過(guò)渡端,通過(guò)此過(guò)渡端可以動(dòng)態(tài)取得實(shí)現(xiàn)了共同接口的子類(lèi)實(shí)例化對(duì)象。

3、代理設(shè)計(jì)模式

指由一個(gè)代理主題來(lái)操作真實(shí)主題,真實(shí)主題執(zhí)行具體的業(yè)務(wù)操作,而代理主題負(fù)責(zé)其他相關(guān)業(yè)務(wù)的處理。比如生活中的通過(guò)代理訪問(wèn)網(wǎng)絡(luò),客戶通過(guò)網(wǎng)絡(luò)代理連接網(wǎng)絡(luò)(具體業(yè)務(wù)),由代理服務(wù)器完成用戶權(quán)限和訪問(wèn)限制等與上網(wǎng)相關(guān)的其他操作(相關(guān)業(yè)務(wù))。

4、觀察者設(shè)計(jì)模式

所謂觀察者模式,舉個(gè)例子現(xiàn)在許多購(gòu)房者都密切觀察者房?jī)r(jià)的變化,當(dāng)房?jī)r(jià)變化時(shí),所有購(gòu)房者都能觀察到,以上的購(gòu)房者屬于觀察者,這便是觀察者模式。

java中可以借助Observable類(lèi)和Observer接口輕松實(shí)現(xiàn)以上功能。當(dāng)然此種模式的實(shí)現(xiàn)也不僅僅局限于采用這兩個(gè)類(lèi)。

5、適配器模式

如果一個(gè)類(lèi)要實(shí)現(xiàn)一個(gè)具有很多抽象方法的接口,但是本身只需要實(shí)現(xiàn)接口中的部分方法便可以達(dá)成目的,所以此時(shí)就需要一個(gè)中間的過(guò)渡類(lèi),但此過(guò)渡類(lèi)又不希望直接使用,所以將此類(lèi)定義為抽象類(lèi)最為合適,再讓以后的子類(lèi)直接繼承該抽象類(lèi)便可選擇性的覆寫(xiě)所需要的方法,而此抽象類(lèi)便是適配器類(lèi)。

以上是“Java常用的設(shè)計(jì)模式有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI