新聞中心
小編給大家分享一下java開(kāi)發(fā)中的設(shè)計(jì)模式有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1) 單例模式
在它的核心結(jié)構(gòu)中只包含一個(gè)被稱(chēng)為單例類(lèi)的特殊類(lèi)。通過(guò)單例模式可以保證系統(tǒng)中一個(gè)類(lèi)只有一個(gè)實(shí)例而且該實(shí)例易于外界訪問(wèn),從而方便對(duì)實(shí)例個(gè)數(shù)的控制并節(jié)約系統(tǒng)資源。
應(yīng)用場(chǎng)景:如果希望在系統(tǒng)中某個(gè)類(lèi)的對(duì)象只能存在一個(gè),單例模式是最好的解決方案。
2) 工廠模式
工廠模式主要是為創(chuàng)建對(duì)象提供了接口。
應(yīng)用場(chǎng)景如下:
a、 在編碼時(shí)不能預(yù)見(jiàn)需要?jiǎng)?chuàng)建哪種類(lèi)的實(shí)例。
b、 系統(tǒng)不應(yīng)依賴(lài)于產(chǎn)品類(lèi)實(shí)例如何被創(chuàng)建、組合和表達(dá)的細(xì)節(jié)。
3) 策略模式
策略模式:定義了算法族,分別封裝起來(lái),讓它們之間可以互相替換。此模式讓算法的變化獨(dú)立于使用算法的客戶。
應(yīng)用場(chǎng)景如下。
a、 一件事情,有很多方案可以實(shí)現(xiàn)。
b、我可以在任何時(shí)候,決定采用哪一種實(shí)現(xiàn)。
c.、未來(lái)可能增加更多的方案。
d、 策略模式讓方案的變化不會(huì)影響到使用方案的客戶。
舉例業(yè)務(wù)場(chǎng)景如下。
系統(tǒng)的操作都要有日志記錄,通常會(huì)把日志記錄在數(shù)據(jù)庫(kù)里面,方便后續(xù)的管理,但是在記錄日志到數(shù)據(jù)庫(kù)的時(shí)候,可能會(huì)發(fā)生錯(cuò)誤,比如暫時(shí)連不上數(shù)據(jù)庫(kù)了,那就先記錄在文件里面。日志寫(xiě)到數(shù)據(jù)庫(kù)與文件中是兩種算法,但調(diào)用方不關(guān)心,只負(fù)責(zé)寫(xiě)就是。
4) 觀察者模式
觀察者模式又被稱(chēng)作發(fā)布/訂閱模式,定義了對(duì)象間一對(duì)多依賴(lài),當(dāng)一個(gè)對(duì)象改變狀態(tài)時(shí),它的所有依賴(lài)者都會(huì)收到通知并自動(dòng)更新。
應(yīng)用場(chǎng)景如下:
a、對(duì)一個(gè)對(duì)象狀態(tài)的更新,需要其他對(duì)象同步更新,而且其他對(duì)象的數(shù)量動(dòng)態(tài)可變。
b、對(duì)象僅需要將自己的更新通知給其他對(duì)象而不需要知道其他對(duì)象的細(xì)節(jié)。
5) 迭代器模式
迭代器模式提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素,而又不暴露該對(duì)象的內(nèi)部表示。
應(yīng)用場(chǎng)景如下:
當(dāng)你需要訪問(wèn)一個(gè)聚集對(duì)象,而且不管這些對(duì)象是什么都需要遍 歷的時(shí)候,就應(yīng)該考慮用迭代器模式。其實(shí)stl容器就是很好的迭代器模式的例子。
6) 模板方法模式
模板方法模式定義一個(gè)操作中的算法的骨架,將一些步驟延遲到子類(lèi)中,模板方法使得子類(lèi)可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些步驟。
應(yīng)用場(chǎng)景如下:對(duì)于一些功能,在不同的對(duì)象身上展示不同的作用,但是功能的框架是一樣的。
以上是“java開(kāi)發(fā)中的設(shè)計(jì)模式有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)名稱(chēng):java開(kāi)發(fā)中的設(shè)計(jì)模式有哪些-創(chuàng)新互聯(lián)
URL地址:http://www.ef60e0e.cn/article/ecppe.html