如何在JavaFX中正确地将View与Model分开

时间:2017-02-24 16:05:29

标签: java model-view-controller javafx

我找不到任何有用的信息。我希望通过类似于表单的UI的控件创建一个coplex对象 - TextFields表示数字和字符串,ComboBoxes表示枚举。此外,对于RadioButton组,我必须能够锁定某些控件并解锁其他控件以创建从相同基类继承的类似对象。 UI很可能会改变,无论是对象的属性,所以我必须将View与Model(或者只是UI与应用程序的逻辑)分开,以防止从一开始就编写所有内容,因为需要更改这两者中的一个。

是否有任何良好的实践,工具,类等有助于使用JavaFX以优雅的方式编写这样的代码?我不是一个经验丰富的开发人员,但我听说有像DI这样的术语或像Spring这样的框架可能有所帮助。不幸的是,这一定是我缺少的东西,因为我完全不知道如何在我的项目中使用这样的东西,因为它不是一个Web应用程序。

我将提供一个真实的例子,使其更加清晰:

我有一个通过串行协议与我的PC通信的设备。在设备上,存在具有各种参数的各种模式,其执行关于所选模式和参数的特定动作。 在PC应用程序中,我必须填写表单以选择特定模式,然后填写其参数(一些是数字,一些枚举等)。我想要实现的是,在填充所有TextFields并将RadioButtons / ComboBoxes设置为正确的选项之后,在单击带有文本的单个按钮后,让我们说“创建模式”,创建MyMode对象用户提供的信息。然后,这个MyMode对象在另一个窗口中用于另一个事物。在其他地方,用户可以选择许多模式,这些模式稍后将被显示在另一个模式旁边,并且可以在设备上运行。

我不想执行超出必要的操作来进一步创建和传递MyMode对象。问题是我不知道“你可以在一个Controller班级”和“Controller班级中禁止这个”之间的界限。我正在考虑的是从表单中提取所有信息,并使用该信息创建一个具有尽可能少的代码行的对象。

0 个答案:

没有答案