2012-03-16 60 views
6

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

Study Guide to the SCJP 6望着耦合会议上,它说:

所有平凡的OO应用程序有许多类和接口 一起工作的一个组合。理想情况下,OO系统中的对象 之间的所有交互应该使用API​​,换句话说,对象的各个类的合同。

如果我理解这是正确的,更好的方法是为每个视图创建接口(契约),如果需要使用此接口方法来检索数据。这是一个好方法吗?花了好时机创造了很多接口说什么暴露的看法是好吗?

我认为的另一种方法是让类包含视图的数据(模型)。在这种情况下,直接访问这个模型类是一个好方法吗?

在此先感谢。

回答

6

一个separable model的概念贯穿摇摆,如A Swing Architecture Overview概述。通常,每个模型都由一个接口表示;一些包括AbstractXxxModel与一些基本的事件管道;并且许多具有标准实现的DefaultXxxModel

+0

似乎你有每个情况下的每个例子:-) – 2012-03-16 06:20:46

3

它完全取决于你正在做什么样的设计选择。有时候我们建议的设计选择会更适合View的数据共享,但它会破坏软件的其他方面。所以为了平衡你的设计选择,以便让你的应用程序顺利运行。

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

Model View Controller

祝你好运!

注:在MVC两种观点从来没有互相交流,而是他们用控制器来得到模型数据,基本上每个视图控制器有一个参考它的数据模型。

+0

+1 for MVC;这里有一个相关的[示例](http://stackoverflow.com/a/3072979/230513)。 – trashgod 2012-03-16 00:38:44

+0

@trashgod感谢这个例子! – 2012-03-16 00:47:33

相关问题