Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向所有注册类发送通知的计时器类。首选哪种设计模式?_Java_Multithreading_Inheritance_Design Patterns - Fatal编程技术网

Java 向所有注册类发送通知的计时器类。首选哪种设计模式?

Java 向所有注册类发送通知的计时器类。首选哪种设计模式?,java,multithreading,inheritance,design-patterns,Java,Multithreading,Inheritance,Design Patterns,我有一个定时器线程类,它每5秒调用所有寄存器类方法。 哪种设计模式是首选的。这样,即使在注册定时器类的客户端数量发生变化之后,主定时器类逻辑也不应该在将来发生变化 观察者模式使用对观察者类的回调 interface TimerOberserver{ notify(); } class ObserverClass implements TimerListener{ ... class Timer { List<TimerListener> allListeners;

我有一个定时器线程类,它每5秒调用所有寄存器类方法。
哪种设计模式是首选的。这样,即使在注册定时器类的客户端数量发生变化之后,主定时器类逻辑也不应该在将来发生变化

观察者模式使用对观察者类的回调

interface TimerOberserver{
   notify();
}

class ObserverClass implements TimerListener{ ...

class Timer {
  List<TimerListener> allListeners;

  //notfy all listeners 

}
interface TimerOberserver{
通知();
}
类ObserverClass实现TimerListener{。。。
班级计时器{
列出所有听众;
//通知所有听众
}