什么是动作设计图案,我没有听说过这之前呢?我怀疑它是一样的 命令的设计图案 [维基百科的]但我找不到任何资源。

有帮助吗?

解决方案

您说得对,行为模式==命令模式。你听到它在GUI设计更常被称为动作模式,在“上的一些按钮按下时,执行此操作”的形式。在代码中的按钮将与某种操作对象进行接线。

其他提示

我读"行动/执行模式"在MSDN现在,我们不同意的前提下,命令和行动/执行的模式都是相同的。

从说明书的 命令图案 在SourceMaking.com:

  • 封请求作为对象,从而让你参数化的客户不同的要求,队列或记录的要求,并支持可撤销的行动。
  • 促进"援引的对象的方法"来满目的状态
  • 一个面向对象的回调

从MSDN条约的行动/执行人模式:

行动/执行模式的标识的战略进行映射的使用情况,以代码,允许更好的可见性和灵活性。此外,它解决的问题的污染实体和跳过适当使用的交易。

差别似乎是一个"行动"封装一个或多个步骤,即当成功地执行委托控制另一个对象负责,知道如何坚持这些改变到一个数据库,网络服务或文件的储存。该行动是相互独立的,它是如何执行/仍然存在。

"命令"感觉就像一半的行动/执行模式"行动",似乎等同于"命令"。行动/执行模式需要的东西的一个步骤进一步描述了另一种关切,其职责是采取变动所产生的"行动"或"命令",并保存他们的一些地方。

动作的设计模式是相同命令的设计模式。行动是一个关键的实体,这与自身有关什么是它的行为封装的信息,一定要在其DO()方法,它如何被撤销,等等做了什么处理。当它的组件的应用程序或任何被设计按照行动的设计模式,然后在应用程序中的一切活动可以在动作的形式表示,每一件事可以重做/撤消数次。例如。在Excel中,在文本编辑器撤消/重做等宏

动作类,这是在这种设计模式的构建块可以被设计为如下: -

public interface Action{
  public void do();
  public void undo();
  public void do(int iNoOfTimes);
}

public class FileCopyAction implements Action{
  private int iActionId;
  public void do(){}
  public void undo(){}
  public void do(int iNoOfItems){}
}

希望它能帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top