【发布时间】:2016-11-11 22:57:21
【问题描述】:
如果我有一个使用 FXML 的 JavaFX 项目,我将如何构建它以遵守模型-视图-控制器模式?这就是我假设的一般结构:
模型 - 基础程序(GUI 所代表的内容)。
查看 - FXML 文件。
控制器 - FXML 控制器。
这种表示的问题是无法通知视图模型的更改,因为它只是一个 FXML 文件。视图应该是 FXML 控制器类,然后我应该有一个主控制器类,以便 FXML 控制器从模型中获取信息,并且主控制器处理动作事件吗?在这种情况下,主控制器将如何访问 JavaFX 节点?
另外,在 MVC 模式中,main 方法应该在哪里?现在,它在我的 JavaFX Application 类中,然后它对程序的其余部分没有任何作用。此外,JavaFX 应用程序类应该是 MVC 模式的一部分,还是只需要初始化 GUI?
问题摘要(请阅读全文):
- 如何构建使用 FXML 以遵守 MVC 模式的 JavaFX 项目?视图应该是 FXML 控制器类,然后我应该有一个主控制器类,以便 FXML 控制器从模型中获取信息,而主控制器处理动作事件?
- 在 MVC 模式中,main 方法应该在哪里?
- JavaFX 应用程序类应该是 MVC 模式的一部分,还是只需要初始化 GUI?
【问题讨论】:
-
如果您尽力将您的 GUI 代码与您的状态和逻辑代码解耦,您会发现您的应用程序非常类似于 MVC,因为关注点分离是 MVC 所追求的。这可能是到达您想去的地方的最务实的方式,因为确实没有一条真正的 MVC 路径可供选择。
标签: java design-patterns model-view-controller javafx fxml