gpt4 book ai didi

Java,设计模式 : Multiple event sources and One event Handler

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:33:20 26 4
gpt4 key购买 nike

我想在具有多个事件源(线程)的 Java 中实现一个设计。这样的事件源完成一个特定的任务,必须通知唯一的事件处理程序(类),这个事件处理程序必须根据事件源通知完成其他任务。

我的问题是:如何在 Java 中以适当的方式实现这个设计?有类似这种设计的设计模式吗?

提前谢谢你:)。

最佳答案

我认为您正在寻找 Observer图案。 Java 确实有一些标准接口(interface)(java.util.Observer、java.util.Observable),尽管这些接口(interface)不是特定于类型的;因此,如果域似乎需要它,您可能会考虑自己的。

class MyThread implements Runnable {
Observable observable;

public MyThread(EventHandler observer) {
observable = new Observable();
observable.addObserver(observer);
}

public void run() {
while (!done()) {
Object result = doStuff();
observable.notifyObservers(result);
}
}
}

// might have this be singleton
class EventHandler implements Observer {
public synchronized void update(Observable o, Object arg) {
accomplishOtherTask();
}
}

关于Java,设计模式 : Multiple event sources and One event Handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2976121/

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