基本应用程序架构 - JAVA中的基本观察者/可观察者

时间:2017-10-26 02:07:30

标签: java swing design-patterns

我有一个用JAVA编写的Web服务,它检索有关天气的信息并发送包含该信息的对象。

此信息应使用JAVA中的Observer-Observable设计模式进行处理。

另外,我需要将该信息发送到SWING中用于图形用户界面的JList。

该模型实现如下:

public class Model implements Observer{
// all the code that receives, override the update method and so on
}

然后,我需要将该对象放入一个数组中并将该信息发送到UI。

模型每15分钟自动接收一个新的天气对象。

我想知道哪个是实现此功能的最佳架构。我不确定是否应该接收模型中的信息,处理它,并使用UI上的按钮等手动更新UI,触发某种方法。

最好的方案是在处理完Model上的信息后自动更新JList。 在这种情况下,我应该在Model和UI中实现观察者吗?因为模型从Web服务接收并且模型发送到UI。

这是一个非常基本的问题,但我不确定哪个是实现它的最佳选择,所以我需要一些帮助。

我添加图片以澄清情况。

BASIC ARCHITECTURE

谢谢!

1 个答案:

答案 0 :(得分:1)

如上所述, Swing 有自己的数据模型,它实现了一些" Observer模式"通过管理和解雇Listener s。

请参阅:https://docs.oracle.com/javase/tutorial/uiswing/components/list.html#creating

您可能想要创建和更新此类模型,在更新后触发必要的侦听器。