我想要将 MVC 模式应用于 SWT 应用程序。我只会有一个模型,但是三个表格来从三个不同的方面展示模型。并且只有一个 View 是可编辑的。当用户输入编辑它时,应该触发另外两个自动更新。我的问题是:
我的设计合适吗?我应该将模型分成三部分以匹配三个观看者吗?
如果这个设计没问题,我可以应用什么技术来注册模型更改的三个监听器?
请给我一些提示,以便我可以开始自己的实验。非常感谢!
最佳答案
Is my design appropriate? Should I divide the model into three to match three viewers?
第一个是,第二个不是。这对于任何 MVC 方法都是一样的:您不应该根据模型的显示方式来更改模型。
但是,SWT 本身并不能很好地支持 MVC。我建议使用 JFace(SWT 的扩展)。 this tutorial 中对 JFaces 表进行了很好的描述。 。您需要有一个引用您的模型的 ContentProvider
(假设所有三个表中的每一行都对应于模型的一个元素),并为以下列提供不同的 ColumnLabelProviders
您的表(或者,每个表一个 LabelProvider
)。
要使表格可编辑,请参阅 http://www.eclipse.org/articles/Article-Table-viewer/table_viewer.html .
关于java - 如何使用一个模型和多个 View 编写 Java SWT 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20320299/