【问题标题】:Can one class implement both subject and observer sections of the observer design pattern?一个类可以同时实现观察者设计模式的主题部分和观察者部分吗?
【发布时间】:2012-11-18 16:15:59
【问题描述】:

我正在为 java 设计一个敌人框架并与观察者一起工作。我想知道这是否可能 |值得努力让一个类在 java 中同时实现观察者和主题吗?

我想要一个实现主体和观察者的敌人界面,以便在看到玩家或敌人时,彼此一定距离内的敌人可以互相警告。

这里有更好的模式吗?

【问题讨论】:

    标签: java observer-pattern


    【解决方案1】:

    我认为其中一种模式比观察者模式更适合使用,具体取决于您希望如何实现您的框架:

    主题/观察者的问题在于,当你的敌人移入/移出彼此的范围时,它们涉及注册/取消注册。

    我建议隐式调用或事件驱动如下:

    • 每次敌人发现玩家时,都会生成一个“事件”,并广播给所有其他敌人。
    • 此事件将有一个坐标来指定它是从哪里广播的。
    • 对于每个收到事件的敌人(即全部),查看坐标,看看它是否在自身的一定范围内
      • 如果没有,请忽略它(并假装它从未听说过)
      • 如果是这样,请按要求执行操作。

    【讨论】:

    • @LinuxN00b: np =) 如果您发现它对您的问题有帮助,请考虑接受此答案
    猜你喜欢
    • 2011-09-25
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多