为什么在GWT(或任何Web应用程序)中使用命令模式?

HDa*_*ave 9 javascript java gwt command-pattern

根据该视频在这里 [@ 7:50]谷歌被推荐使用了Command模式,其请求处理API之上.还有一个有用的项目gwt-dispatch实现了这种模式.

根据gwt-dispatch 文档,我需要为每个命令创建四个类:

  • 一个动作(例如命令)
  • 结果(例如回复)
  • 动作处理程序
  • 一个模块

假设我的服务API在8个BSO中有100个方法,有人可以向我解释为什么我要创建近400个新类吗?这种模式有什么好吃的?

Chr*_*her 6

  • 使用命令模式的一个很好的理由是,当你想将命令对象传递给进一步的委托时 - 所以不是复制所有的参数,而是更容易传递命令对象.它对gwt-dispatch的回滚功能(或者Eclipse的UndoableOperations中的undo/redo功能)也很有用.

  • 通过使用不同的构造函数和命令的子类,它有助于提供多种命令变体.

  • 我不建议总是使用该模式,但是当你不使用它时,你不会像你想象的那样保存:无论如何你经常需要结果对象 - 并且可以重用相同的返回对象.在其他情况下,您可以为命令和结果使用相同的对象.

  • 该模块可用于多个命令.