我不知道程序员喜欢做什么,但你应该听听MVC模式所说的内容.
它告诉你每个视图应该有它的控制器.您的观点显然有子视图.所以这种情况下的设计显然会遵循:
MainView
Label1
Text1
Tab1Subview
Label1
Text1
Tab2Subview
Label1
Text1
MainViewController
Tab1SubviewController
Tab2SubviewController
控制器将为每个特定视图定义绑定.您还可以为所有子视图使用一个控制器并将其绑定在内部.您的主控制器可以具有到主根模型对象的链接,例如形式.特定的控制器可以绑定子对象.正如我已经说过的那样 – 你可以使用一个大控制器并将它们绑定在一个地方.
这是为了创建MVC.
工具
如果您正在寻找SWT图形设计器,那么Window Builder Pro(Eclipse插件) – 肯定是选择(虽然不是很完美,但是可用性更好).
像EMF这样的事情非常复杂.您可以从混合使用Window Builder Pro和编码开始,如上所述,JFace Binding API将是一个选项 – 但这不是必需的 – 依赖于模型,您可以使用JFace Binding或在代码中自己完成.
为了保存简单的表单,你所要做的就是编写类似save方法的东西,例如:
person.setName(view.getFullNameTextField().getText());
这并不比使用高级绑定功能差很多,特别是如果你不依赖于像JFace这样的额外库.