• [设计模式随意链接]——命令模式


    1. 为什么要有命令模式

    1. 软件构建过程中。行为请求者与行为调用者可能有强耦合的情况。如下所示
      if (type == a) { do_a() }
      else if (type == b) { do_b() }
      else if (type == c) { do_c() }
      ...

      这样的代码是非常繁杂且高耦合的,所以需要一种模式优化掉它。

    2. 可能需要进行行为撤销等操作,这样编码可能会非常麻烦。

    所以,命令模式,要做的就是,将行为封装成对象,以解决这个问题。

    2. 命令模式的定义

    命令模式:

    将请求(行为)封装成对象,以便使用不同的请求、队列或者日志参数化其他对象,可支持可撤销操作。

    3. 命令模式的实现

    首先,应该定义命令接口。

    public interface Command {
        public void execute();
    }

    如果这一系列命令都需要撤销操作,可以再定义一个undo方法。

    然后,子类通过实现这个接口,构成不同的命令。

    public class TestCommand {
        public void execute() {
            doSomething();
        }
    }

    最后,调用者通过传入Command对象,实现调用。

  • 相关阅读:
    Vue.js 监听属性
    class 属性绑定
    《规划极限编程》阅读笔记03
    原型模式——C++实现
    原型模式——Java实现
    建造者模式——C++实现
    建造者模式——java实现
    抽象工厂模式——C++实现
    抽象工厂模式——java实现
    软件工程 开发模型
  • 原文地址:https://www.cnblogs.com/tomoka/p/10985661.html
Copyright © 2020-2023  润新知