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