Java 任何人都可以和我分享一个listerner模式的例子
我正在学习一种叫做listerner的设计模式。任何人都可以与我分享这种模式的一个例子。我不需要任何与GUI相关的东西,比如JWT,感谢监听器模式非常接近Observer。基本上,您只允许其他对象“侦听”您的对象。因此,您需要维护这些侦听器的列表,并在需要时通知他们 大概是这样的:Java 任何人都可以和我分享一个listerner模式的例子,java,Java,我正在学习一种叫做listerner的设计模式。任何人都可以与我分享这种模式的一个例子。我不需要任何与GUI相关的东西,比如JWT,感谢监听器模式非常接近Observer。基本上,您只允许其他对象“侦听”您的对象。因此,您需要维护这些侦听器的列表,并在需要时通知他们 大概是这样的: public class MyClass { public static interface Listener { public void onNotify(); } private
public class MyClass {
public static interface Listener {
public void onNotify();
}
private List<Listener> listeners = new ArrayList<Listener>();
// addListener and removeListener methods omitted.
public void doSomething() {
// do something that listeners should be notified of.
// notify listeners like this:
for (Listener l : listeners) {
l.onNotify();
}
}
}
公共类MyClass{
公共静态接口侦听器{
公共无效通知();
}
私有列表侦听器=新的ArrayList();
//省略addListener和RemovelListener方法。
公共无效剂量测定法(){
//做一些应该通知听众的事情。
//通知侦听器如下:
for(侦听器l:侦听器){
l、 onNotify();
}
}
}
希望它有意义:)这里有一个在Java中使用该模式的示例,因为您没有要求特定的东西
public class MyButton extends JButton implements ActionListener {
public MyButton() {
addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
// omgwtfbbqroflolkthxbai
}
}
侦听器模式实际上不在设计模式的四人组中。然而,侦听器模式只是查看观察者模式的另一种方式。这包含了一个用Java编写的观察者模式解决方案的好例子。很有趣-我是一个Java noob,通过一个“外部”接口实现了这一点,并使侦听器对象实现了该接口。。。我假设一些类型转换是在addListener方法中完成的?这看起来更干净:)不,你不需要任何类型的打字。但是您需要完全限定接口的名称,即MyClass.Listener.Look,它描述了如何使用现代Java工具构建Listener(又名Observer)设计模式的实现。