[java设计模式简记] 观察者模式(Observer-Pattern)
生活随笔
收集整理的這篇文章主要介紹了
[java设计模式简记] 观察者模式(Observer-Pattern)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
觀察者模式(Observer-Pattern)
數(shù)據(jù)主體擁有需要數(shù)據(jù)的對(duì)象的數(shù)據(jù),并且數(shù)據(jù)改變時(shí)需要數(shù)據(jù)的對(duì)象要及時(shí)知道意圖: 定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。
主要解決: 一個(gè)對(duì)象狀態(tài)改變給其他對(duì)象通知的問題,而且要考慮到易用和低耦合,保證高度的協(xié)作。
何時(shí)使用: 一個(gè)對(duì)象(目標(biāo)對(duì)象)的狀態(tài)發(fā)生改變,所有的依賴對(duì)象(觀察者對(duì)象)都將得到通知,進(jìn)行廣播通知。
如何解決: 使用面向?qū)ο蠹夹g(shù),可以將這種依賴關(guān)系弱化。
關(guān)鍵代碼: 在抽象類里有一個(gè) ArrayList 存放觀察者們。
應(yīng)用實(shí)例:
優(yōu)點(diǎn):
缺點(diǎn):
使用場(chǎng)景:
注意事項(xiàng):
如果用Observable寫的對(duì)象事件訂閱機(jī)制,推薦用java.beans相關(guān)的類來(lái)代替。
如果用Observable寫的進(jìn)程間通信機(jī)制,文檔推薦用java.util.concurrent并行庫(kù)相關(guān)的類來(lái)代替。
如果用Observable寫的反應(yīng)式流水線機(jī)制,文檔推薦用并行庫(kù)的Flow及Future等類來(lái)代替。
如果僅僅是為了實(shí)現(xiàn)觀察者設(shè)計(jì)模式,可以寫自定義的類...或直接剪貼源碼
轉(zhuǎn)載于:https://www.cnblogs.com/xiong233/p/10945036.html
總結(jié)
以上是生活随笔為你收集整理的[java设计模式简记] 观察者模式(Observer-Pattern)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工银e分期18期手续费是多少?工银e分期
- 下一篇: 电子书下载:Programming Mi