是否存在形成「複合」觀察者/可觀察對象的設計模式?
我的意思是我有一個可觀察的A
,通知其聽衆一些變化。
每個偵聽器也是一個可觀察對象,並通知其自己的偵聽器(在某些動作中,它確實通過第一個可觀察對象的通知觸發了哪個動作)。
觀察者/觀察對象的「鏈」是否可以設計,或者是否存在標準模式?觀察者/可觀察模式的鏈接
2
A
回答
1
對於你提到的鏈接,我看不出有什麼差別。
觀察者模式的目的是,當一個對象的狀態改變時,它通知有關的變化感興趣的各方(聽衆/觀察者),並讓聽衆根據狀態改變做出反應。
如果聽者的狀態變化,通過設計,通過其他有關方面觀察,我看不出有任何理由爲什麼我不能使用觀察者模式的發佈活動。
然而,它僅僅是另一名觀察員,觀察到的關係。沒有特別的「鏈接」發生。
有點OT:更適合稱爲鏈接的東西是:被觀察的對象O將事件E發送給監聽器A,並且A將傳播該事件給另一個監聽器B.然而在邏輯上他們都在監聽事件起源於O.這種「鏈接」可以通過使用裝飾模式來完成。
0
你的類應該實現這兩個接口:觀察者和主體。 Challange正在向所有觀察者註冊適當的對象。
所有你需要的是增加notifyObservers()
在notify()
方法Observer
類(link to wiki)。
請注意,您可以啓動無限循環的通知:A
=>B
=>C
=>A
=> ...依此類推。
相關問題
- 1. 觀察者模式 - 觀察者創建
- 2. 觀察者模式
- 3. 觀察者python中的可觀察類
- 4. Java觀察者和可觀察的
- 5. 觀察者模式-受試者保持到由觀察者
- 6. 使用RxCpp構造觀察者/可觀察模式
- 7. 具有兩個觀察者列表的觀察者模式
- 8. 觀察者模式Java - 使用線程的多個觀察者
- 9. 異步觀察者模式
- 10. 實現觀察者模式
- 11. 瞭解觀察者模式
- 12. 觀察者模式imp
- 13. asp.net觀察者模式
- 14. jQuery和觀察者模式
- 15. 觀察者模式混淆
- 16. MVC和觀察者模式
- 17. 與觀察者模式
- 18. 觀察者模式建議
- 19. 觀察者模式類(JAVA)
- 20. Vue.js和觀察者模式
- 21. SI +觀察者模式
- 22. 觀察者模式vs MVC
- 23. python觀察者模式
- 24. 觀察者模式:如何區分觀察者
- 25. 觀察者設計模式 - 具體主題和觀察者
- 26. 觀察者模式 - 將信息傳遞給觀察者
- 27. 當觀察者的觀察者的壽命長於可觀察到的
- 28. 觀察者模式抽象與接口
- 29. Rx:使用不同類型的觀察值創建後續可觀察值(鏈接觀察者)
- 30. Android「觀察者」
Imho,沒關係。在JDK7中沒有標準的類。 – 2013-02-27 09:03:59
對我來說沒關係。我想知道的是,你添加了「多線程」標籤,但沒有直接在你的文章中提到它。 – 2013-02-27 09:22:19