如何正确实现Java中的MVC-Pattern?

时间:2015-04-01 18:21:08

标签: java class user-interface model-view-controller interface

假设我们一方面只处理GUI内容(例如Java Swing),另一方面处理存储数据的类。这些数据可以保存在外部数据库的表中,而这些表应该由Java类(Hibernate,JDBC)创建和操作。

所以我们的示例软件看起来像这样:

enter image description here

我现在的问题是如何实现这两个模块之间的联系?我应该编写一个实现一个类的接口,该类包含它们之间通信所需的所有方法吗?

或者使用new实例化gui-classes中的数据类并使用数据类的公共方法是否足够?

1 个答案:

答案 0 :(得分:1)

这是Martin Fowler的书企业应用程序架构模式的片段,

  

这种分离的关键点是依赖关系的方向:   演示取决于模型,但模型不依赖于   演示文稿。人们在模型中编程应该完全是   不知道正在使用什么演示文稿,这两者都简化了   他们的任务,以便以后更容易添加新的演示文稿。它   也意味着可以自由地进行演示文稿更改   改变模型。

所以我认为您应该创建不知道谁将访问它们的Business方法。

另一个类(Controller)知道如何从视图中接收的数据调用业务方法。

enter image description here