一切都在问题中,为什么菜单通常使用命令设计模式而不是观察者模式来实现?
问问题
1508 次
2 回答
1
有两个方面,“调度”,从菜单中选择一个选项或单击一个按钮并运行一些代码。然后是运行的实际代码。
我不知道您指的是哪个 UI 框架,但我希望在这两种情况下都能看到观察者模式和命令模式。我想知道发生的事情是否是 Menu 案例和 Button 案例只是由您的框架以使不同方面可见的方式实现的。
所以对于菜单,你提供不同的命令对象,你永远不会真正看到导致你的命令被调用的内部调度。我的猜测是在幕后必须发生一些事件处理,所以观察者模式很可能正在使用,只是你没有看到它。
在按钮的情况下,被调用的代码可以被认为是一个命令对象,但我们更明确地将它连接到一个事件,所以我们首先看到了观察者模式。
于 2011-07-25T10:27:50.883 回答
0
我可以看到一个使用带有菜单项或按钮的观察者模式的用例。假设有星座计算器。用户有一个按钮来开始星座生成。用户将单击按钮和命令发送到服务器进行计算。稍后,同一个按钮可以观察服务器状态,反之亦然,以进行状态更新或显示打印和来自该按钮的触发打印命令。所以 Observer :事件需要调度。命令:执行的动作。
于 2011-07-25T10:32:53.457 回答