使用JFace的观众是否排除了良好的MVC分离?

时间:2010-01-01 21:01:30

标签: java model-view-controller user-interface jface

我正在编写一个我想要使用Swing和SWT的GUI应用程序。最终用户将以某种方式指定应该使用哪个(它不会同时使用两者!)。 SWT是我一般喜欢的,我一直在看JFace,但似乎如果我使用它最强大的功能,我将增加GUI和模型之间的耦合,并使得抽象GUI更加困难,所以Swing可以也用过。

是这样的吗?可以使用JFace而不将GUI细节绑定到模型中,反之亦然吗?

2 个答案:

答案 0 :(得分:2)

据我所知,使用JFace观众可以很好地分离视图和模型。

这里唯一的紧密耦合是选择实际的查看器实现(例如,使用TableViewer与TreeViewer将模型绑定到Table或Tree小部件)。

关于你问题的第一部分,tat表示你想出于某种原因将你的应用程序与GUI框架的选择分开,我建议你看看UFace project

UFace项目旨在准确提供您的目标 - 一个可以针对许多GUI后端运行的单一UI实现(它调用 Providers ):< / p>

撰写本文时,UFace项目页面列出了对以下提供商的支持:

  • 的JFace / SWT
  • 摇摆
  • GWT

(我也听说过有关支持Qt Jambi提供商的一些工作的传言)

答案 1 :(得分:0)

您无法动态切换。 JFace称为SWT。不能要求它代替AWT。

至于JFace是否将模型与GUI结合,嗯,没有。它有一组模型接口,但你可以粘贴你喜欢的任何模型。如果您的客户希望有一天能够选择剥离JFace,那么您可以干净利落地完成这项工作。