【问题标题】:test if object X is an observer of Observable Y测试对象 X 是否是 Observable Y 的观察者
【发布时间】:2014-01-28 03:07:22
【问题描述】:

我正在玩一些设计模式,我能够从观察者的Observable Borg 对象列表中添加和删除Observer Drone 对象。 我想打印每个 Observable 对象观察者的属性。比如 Observers 对象 ID 属性。

再解释一下:

我有一个扩展 Observable 的 Borg 类,我有一个实现 Observer 的 Drone 类。

每架无人机都有一个 ID 属性,在我的程序中,我有一个无人机列表,它们都注册为我的 Borg 对象的观察者。

我还有一个无人机列表,它们最初都注册为观察者,然后我从博格观察者列表中删除了其中一些观察者。

我想遍历 Drone 列表并测试无人机是否是 observable borg 对象的观察者

【问题讨论】:

  • 请提出具体问题,以便我们更轻松地为您提供帮助。
  • 您似乎无法(直接)枚举在 Observable 上注册的观察者,您必须在每个观察者的更新功能中实现属性打印,我会说

标签: java observer-pattern


【解决方案1】:

如果您指的是java.util.Observable,则没有干净的方法可以做到这一点。该类有一个privateVector 字段来存储注册的Observable 实例。子类无权访问它。

我建议你实现自己的 Observer/Observable 模式。


不干净,我的意思是你可以使用反射,但不要。

【讨论】:

    猜你喜欢
    • 2018-03-19
    • 2012-03-03
    • 2021-10-20
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 2020-05-28
    • 1970-01-01
    相关资源
    最近更新 更多