【发布时间】:2018-11-13 09:01:48
【问题描述】:
我目前正在开发一个 JavaFX 项目,并且我读到强烈建议使用 MVC 模式 来开发它。在我的项目中,我有 Controller 类,它们具有对其相应模型的引用。
在我的项目中,我希望一个 Model 直接监听另一个 Model 中的变化,而不是在 Controller 类中这样做。
将一个 Model 类注入另一个类以便第一个 Model 引用另一个是一种好习惯吗?它会破坏 MVC 模式吗?
【问题讨论】:
-
允许模型引用其他模型。
-
当然可以。想象一下我有一个
Team课程。如果Team类不能保存Member类的实例,那么它会如何工作? -
您可能需要查看data bindings 以实现(几乎)直接依赖关系。
-
@Jai 我的模型类包含对其相应 JPA 存储库的引用,因此在我的情况下,对于您的示例“团队”和“成员”,它们不直接通信,而是仅通过存储库进行通信。恐怕通过直接听模型到模型,我有点破坏了我的结构化实现,其中每个通信都必须在 Controller 类中提供。抱歉,如果我让您感到困惑,我会根据需要提供更多详细信息。
-
实际上,在 MVC 方面有很多变化。我见过一种方法,其中模型类负责一般验证以及检索和持久性。使用这种方法,模型实例可以告诉另一个模型实例保存/刷新自己。当然,有些人会不同意(我个人对此部分不同意)并认为控制器必须与存储库进行通信(即控制器拥有业务逻辑,因此它是决定的人何时获取/保存数据。
标签: java spring-mvc javafx model-view-controller