我可以看到 Swing 如何使用 Decorator 和 Observer 模式。
观察者:每个组件(例如。JButton
)都是一个主题,可以添加观察者(ActionListeners)
。当有人按下一个按钮时,它会通过调用它们的 actionPerformed(ActionEvent e)
来通知它的所有 ActionListeners
。
但是命令模式呢?
当我创建实现ActionListener
的类(例如:MyActionListener
)时,actionPerformed(ActionEvent e)
现在是执行命令?
让我感到困惑的是 actionPerformed(ActionEvent e)
被用作 execute()
和 update()
方法。我在这儿吗?
最佳答案
Here is an article that will help.基本上,它是说您可以通过派生 ActionListener 创建与目标对象交互的具体命令类。然后,您可以通过向操作事件调用程序注册这些解耦命令来扩展操作事件调用程序将执行的操作。
关于java - 了解 Swing 中的命令模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/970355/