MVC 设计模式的 Action 或 ActionListener
Posted
技术标签:
【中文标题】MVC 设计模式的 Action 或 ActionListener【英文标题】:Action or ActionListener for MVC design pattern 【发布时间】:2014-08-16 07:44:08 【问题描述】:我正在使用 MVC 设计模式编写 Java GUI 应用程序。起初,我将 JButton 的 ActionListener 类作为子类放入 Controller 中。然后,我决定我希望用户可以选择能够按下按钮或 ENTER 键来提交文本字段中的文本。我在网上读到,当您希望多次单击和击键来执行相同的操作时,Action 比 ActionListener 更好。
在使用 MVC 模式时,我对应该将扩展 AbstractAction 的 Action 类放在哪里有点困惑。他们是否应该以相同的方式作为子类进入控制器 我原来是在做 ActionListener 类的?
另外,如果我将 Action 类作为子类放置,我的 Controller 将充满子类,因为我在 GUI 中有很多按钮。这是最佳做法吗?
【问题讨论】:
【参考方案1】:我最终将 Action 类保留在 Controller 中,并使子类成为静态的,就像this question 的答案一样。我仍然不完全确定这是否是最佳做法,但一切正常,我可以重用执行相同操作的按钮和击键的类。
【讨论】:
以上是关于MVC 设计模式的 Action 或 ActionListener的主要内容,如果未能解决你的问题,请参考以下文章
MVC小系列(十六)在控制器级别或具体Action级别上动态设定模板页(Layout)