zoukankan      html  css  js  c++  java
  • [设计模式随意链接]——命令模式

    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对象,实现调用。

  • 相关阅读:
    CSS介绍
    docker入门
    nginx+uWSGI+django+virtualenv+supervisor发布web服务器
    niginx入门
    常用服务安装部署
    VIM
    linux基本命令
    linux目录分级
    OpenStack共享组件
    kvm认识和安装
  • 原文地址:https://www.cnblogs.com/tomoka/p/10985661.html
Copyright © 2011-2022 走看看