【问题标题】:implementing MVC design pattern for the first time with Swing首次使用 Swing 实现 MVC 设计模式
【发布时间】:2021-05-01 11:14:23
【问题描述】:

这在某种程度上是一个理论问题。我正在尝试使用 MVC 设计模式编写我的第一个应用程序。

该应用程序是一个备忘录写作应用程序。由于这是第一次尝试应用这种设计模式,我希望能得到一些关于如何规划我的项目的反馈。

在我的模型部分我计划将哈希映射作为数据结构,其中日期是键,备忘录是值。所以我将有一个 Date 类和一个 Memo 类和一个带有哈希映射的 Model 类,它将与其他 2 个类交互。

在视图部分我计划为后面的日期设置 3 个组合框,并带有一个按钮来显示该日期的现有备忘录,或者一个空白文本区域用于添加备忘录和保存按钮。我虽然有一个类可以扩展 JFrame 以及内部的其余组件。

控制器部分是我卡住的地方。我该怎么做?我习惯于让视图部分自己处理数据。我得到的另一个提示是用接口分隔不同的部分,但我不确定具体如何。

最后,我应该将按钮的侦听器放在框架类或控制器中的什么位置?

任何见解或反馈将不胜感激。

【问题讨论】:

标签: java swing model-view-controller


【解决方案1】:

在 MVC 中,当用户看到视图时,它实际上使用控制器。 这基本上意味着应该将输入发送到控制器,然后在数据中需要的地方对其进行操作和更新。 在您的情况下,这意味着按钮侦听器 input(click) 应发送到控制器,例如控制器应侦听单击。

另一方面,为什么在可以使用普通旧 java 对象的地方使用 HashMap?当您想要添加更多功能时,它们最终将更具可扩展性。

【讨论】:

  • 谢谢,哈希映射是必需的。如果我按照您的说法进行操作,这是否意味着视图获得了模型的实例,而控制器获得了模型和视图的实例?
猜你喜欢
  • 1970-01-01
  • 2013-08-03
  • 2014-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多