为了账号安全,请及时绑定邮箱和手机立即绑定

MVC在JavaFX中的应用

MVC在JavaFX中的应用

牛魔王的故事 2019-06-09 16:56:05
MVC在JavaFX中的应用我是GUI World/OO设计模式的新手,我想在GUI应用程序中使用MVC模式,我阅读了关于MVC模式的一些教程,模型将包含数据,View将包含可视化元素,Controller将连接视图和模型。我有一个视图,它包含一个ListView节点,ListView将被来自Person类(Model)的名称填充。但我有点困惑于一件事。我想知道的是,从文件中加载数据是控制器还是模型的责任?以及名称的“观察列表”:它应该存储在控制器还是模型中?
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

我想知道的是,如果从文件中加载数据是控制器或模型的责任?

对我来说,模型只负责带来代表应用程序的业务逻辑的所需的数据结构。

从任何源加载数据的操作应该由Controller层完成。您也可以使用存储库模式,这可以帮助您在从视图中访问数据时从源类型中抽象出来。在此实现之后,您不应该关心存储库实现是否正在从文件、SQL、NoSQL、Webservice加载数据.

名称的观察者列表将存储在控制器或模型中?

对我来说,观察者列表是视图的一部分。它是一种可以绑定到JavaFX控件的数据结构。因此,例如,可以使用模型中的String填充一个观测者List,但是观测者List引用应该是某个View类的属性。在JavaFX中,它非常乐意将JavaFX控件与由来自模型的域对象支持的可观察属性绑定。

你也可以看看视图模型概念..对于我来说,一个由POJO支持的JavaFX bean可以被看作是一个视图模型,您可以将它看作一个模型对象,可以在视图中显示。因此,例如,如果您的视图需要显示从两个模型属性中计算出来的总价值,那么这个总价值可能是视图模型的一个属性。此属性将不会持久化,并且将在显示视图时进行计算。


查看完整回答
反对 回复 2019-06-09
  • 2 回答
  • 0 关注
  • 1141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信