是否存在形成“复合”观察者/可观察对象的设计模式?
我的意思是我有一个可观察的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