Swing - 在视图之间进行交互的最佳方式?

时间:2012-03-16 00:20:40

标签: java swing design-patterns

在Swing应用程序中,在两个视图之间发送数据(交互)的最佳方法是什么?

查看Study Guide to the SCJP 6中的耦合会话,它说:

  

所有重要的OO应用程序都是许多类的混合   接口协同工作。理想情况下,对象之间的所有交互   在OO系统中应该使用API​​,换句话说,就是合同   对象各自的类。

如果我理解这是正确的,更好的方法是为每个视图创建接口(契约),如果需要,使用此接口方法来检索数据。这是一个好方法吗?花很多时间创建大量的界面来说明视图所暴露的内容是否可以?

我认为另一种方法是使用类来保存视图的数据(Model)。在这种情况下,直接访问这个模型类是一个好方法吗?

提前致谢。

2 个答案:

答案 0 :(得分:6)

separable model中概述的A Swing Architecture Overview遍历Swing的概念。通常,每个模型由接口表示;一些包括一个AbstractXxxModel与一些基本事件管道;许多人都有DefaultXxxModel标准实施。

答案 1 :(得分:3)

这完全取决于您所做的设计选择。有时我们建议的设计选择更适合View的数据共享,但它会破坏软件的其他方面。因此,为了平衡您的设计选择,以使您的应用程序顺利运行。

我个人更喜欢MVC设计模式。它每次都适合我!阅读更多关于MVC的信息:

Model View Controller

祝你好运!

注意:在MVC中,两个视图从不相互交互,而是使用控制器从模型中获取数据,基本上每个视图都有控制器,并引用了它的数据模型。