gpt4 book ai didi

java - 了解观察者模式

转载 作者:行者123 更新时间:2023-12-04 06:08:32 27 4
gpt4 key购买 nike

我已经构建了一个小应用程序,它有一个控制对象速度的 JSlider。当 slider 检测到其状态发生变化时,对象的速度会相应变化。我想知道我构建的东西是否使用了观察者模式。维基百科指出,观察者模式“是一种软件设计模式,其中一个称为主体的对象维护其依赖项列表,称为观察者,并自动通知他们任何状态更改,通常通过调用他们的方法之一。它是主要用于实现分布式事件处理系统”。在我的代码中,每当检测到 JSlider 发生变化时,都会自动执行一小段代码以通过以下方式更改对象的速度:

slider.addChangeListener(
new ChangeListener(){
public void stateChanged(ChangeEvent e){
horizSpeed = slider.getValue();
sliderTitle.setText("Current Speed: " + horizSpeed);
}
}
);

我不认为它维护维基百科要求的家属名单,但我不确定。如果有人能告诉我观察者模式的微妙之处,我将不胜感激。谢谢!

最佳答案

观察者也称为发布订阅。这个名字可能更能说明问题。

你所拥有的是一个观察者,目前只有一个注册客户。但是,addChangeListener 可以注册多个监听器。想象一下,如果您想在 slider 处于高端时更改 slider 的颜色。你想把它与改变速度分开。

关于java - 了解观察者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8072407/

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