命令模式(行为型)

命令模式
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。

维基上的解释:它尝试以对象来代表实际行动。命令对象可以把行动(action) 及其参数封装起来,于是这些行动可以被:

  • 重复多次
  • 取消(如果该对象有实现的话)
  • 取消后又再重做
    这些都是现代大型应用程序所必须的功能,即“撤销”及“重复”。
    除此之外,可以用命令模式来实现的功能例子还有:
  • 交易行为
  • 进度列
  • 向导
  • 用户界面按钮及功能表项目
  • 线程 pool
  • 宏收录

优点

  1. 降低了系统耦合度。
  2. 新的命令可以很容易添加到系统中去。

缺点

使用命令模式可能会导致某些系统有过多的具体命令类。

个人理解

通过类的方法将执行的逻辑封装在方法中,这个类叫接收类,方法就是执行具体逻辑的方法,然后定义一个命令接口,有一个execute方法。命令的实现类,将接收类作为execute方法的入参,方法内容就是接收类调用自己的执行逻辑的方法,这个执行逻辑的方法与该命令类的含义相同(比如,开灯命令类,实现的execute方法里就是接收类调用开灯方法)。最后就是调用类,定义一个命令接口为入参的方法,内容是命令接口调用execute方法。

你可能感兴趣的:(命令模式(行为型))