说我有4个按钮,我希望每个人都做不同的事情。我不想要一个大开关语句,我根据按下哪个按钮来做不同的事情,也不需要单击每个按钮的单独方法。命令模式是解决这个问题的好方法吗?如何使用命令模式来降低菜单的复杂度?
2
A
回答
5
是的,这是命令模式的常用用法。假设你有一组类(例如Open,Save,Print),每个类都提供一个execute()方法,然后你可以将其中一个类的实例与你的按钮相关联,按钮的onclick事件可以调用execute )而不知道相关命令的具体细节。
Wikipedia article给出了命令模式的其他常见用法。
0
是的。我曾经帮助将相同的操作绑定到菜单单击和工具栏单击。它工作得很好。它不以任何方式革新任何东西,而是给你更多更干净的代码并摆脱讨厌的开关语句。
我有代码的地方,我会尝试挖掘给你一些例子。
相关问题
- 1. 如何降低复杂度?
- 2. 降低RABL模板的复杂度
- 3. 降低时间复杂度
- 4. 如何降低圈复杂度?
- 5. 多项式乘法复杂度降低
- 6. 降低复杂性
- 7. 的Python:降低圈复杂度
- 8. 降低代码的圈复杂度
- 9. 降低程序的时间复杂度
- 10. 如何降低下面代码的“环复杂度”
- 11. 如何降低java中的圈复杂度?
- 12. 如何降低GUI程序的复杂度
- 13. 如何降低这部分代码的复杂度?
- 14. 如何降低python的时间复杂度?
- 15. 如何降低if语句的复杂度?
- 16. 降低菜单项
- 17. 如何降低高圈复杂度,同时从
- 18. 如何在if条件下降低圈复杂度?
- 19. 如何降低一个onClick()方法中圈复杂度
- 20. Ruby on Rails:降低RESTFul HTTP POST请求中参数的复杂度(多模式)
- 21. 降低基于Cairngorm的应用程序的图层复杂度
- 22. 降低数组中最大重复元素的复杂度
- 23. 使用css降低菜单栏的高度
- 24. 复杂命令的命令总线模式
- 25. 以低复杂度的方式求幂
- 26. 降低单一表格应用程序的复杂性
- 27. 如何降低根据数据类型调用回调函数的复杂度?
- 28. 降低产生秩数阵列的时间复杂度
- 29. 降低DP算法时间复杂度的一般技巧
- 30. 查找重叠间隔坐标的复杂度降低
但是,如何最好地使关联 - 在按钮内(例如,有一个特殊的“CommandButton”类,在某种查找中保持对ICommand ...或类外的引用? – Iain 2009-06-13 17:27:39