这是命令模式吗?

时间:2009-04-17 12:19:48

标签: design-patterns command mvp

我有一个MVP Gui,现在我想为某些视图定义某些动作或命令(修改,保存,关闭......)。

有一种简单的方法吗?我应该为每个视图提供命令吗?

1 个答案:

答案 0 :(得分:3)

最简单的方法是建立一个所有命令对象都被实例化的工厂。因此,如果您有一个打开的作业命令,所有视图都将转到工厂并拉出打开作业命令对象,实例化它,然后执行它。如果您需要修复错误或更改“打开作业命令”,则只需要为所有视图执行一个操作。

据说可能会有一些命令可能对每个视图都是唯一的。尽管如此,您可能仍希望将它们封装在命令对象中,因为您可以通过命令对象轻松实现撤消/重做。