gpt4 book ai didi

java - 如何在java中实现相反的观察者模式?

转载 作者:行者123 更新时间:2023-11-29 08:06:05 25 4
gpt4 key购买 nike

在观察者模式中,观察者通常通过调用每个方法来通知监听者,例如:

OnSomethingUpdated(Object) {
....

在这种情况下我们有耦合:Observer 应该对每个 listener 进行一些操作。当我想通过继承修改 Observer 或 Listener 或尝试提取抽象父类(super class)以简化 Observer(或 Listener)的逻辑时,它很难传播消息,我收到意大利面条代码。我认为应该存在某种方式来将 Observer 工作的业务逻辑与将消息传播给听众的逻辑分离。相反可能更好——听众应该检查一些消息。是否存在类似的模式?谢谢。

最佳答案

监听器实际上应该是一个接口(interface):

interface MyListener {
void onSomethingUpdated(Object eventData);
}

这样,主体与其观察者的具体实例分离;它应该保留这些接口(interface)引用的列表。

看看here了解如何在 Java 中实现此模式。

现在,为了进一步将主题与消息传播分离,我建议您看一下 mediator模式。

关于java - 如何在java中实现相反的观察者模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11166587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com