美文网首页
行为设计模式->命令模式

行为设计模式->命令模式

作者: liu66_net | 来源:发表于2018-12-07 14:16 被阅读0次
    • 目的(不是很明白,复制的laravel china 的)

      1.我们有一个调用程序和一个接收器。 这种模式使用「命令行」将方法调用委托给接收器并且呈现相同的「执行」方法。 因此,调用程序只知道调用「执行」去处理客户端的命令。接收器会从调用程序中分离出来。
      2.这个模式的另一面是取消方法的 execute(),也就是 undo() 。命令行也可以通过最小量的复制粘贴和依赖组合(不是继承)被聚合,从而组合成更复杂的命令集。

    • 角色

      1.Receive 接收者角色 该角色就是干活的角色,所有的命令执行的地方
      2.Command 命令角色 需要执行的命令在此执行
      3.Invoker 调用者 接收命令并执行命令

    • 命令模式的优点

      1.类与类之间解耦,调用者与接收者之间没有依赖关系,调用者实现功能时只需调用Command抽象类的execute方法就可以,不需要了解到底是哪个接收者执行。
      2.可扩展性:Command的子类可以非常容易地扩展,而调用者Invoker和高层次的模块Client不产生严重的代码耦合。
      3.命令模式结合其他模式:命令模式可以结合责任链模式,实现命令族解析任务;结合模板方法模式,则可以减少Command子类的膨胀问题

    • 命令模式的缺点

      1.在项目中如果对命令模式使用不慎,那么Command的子类可能会因为有N个命令,而扩展成N个,使得Command类变得非常庞大

    相关文章

      网友评论

          本文标题:行为设计模式->命令模式

          本文链接:https://www.haomeiwen.com/subject/hhjthqtx.html