首页 > 其他 > 详细

前端设计模式 命令模式

时间:2019-11-16 10:17:51      阅读:119      评论:0      收藏:0      [点我收藏+]
命令模式:执行命令时,发布者和执行者分开(比如老板和服务员,老板说谁谁谁去干什么,然后服务员就去干了,这适合人比较少,一吆喝就都知道了。如果是上千人,这样就不合适了,这个时候需要发布者和执行者分开)。中间加入命令对象,作为中转站。

 

比如战争片中,将军传递命令
class Receiver {
    exec() {
        console.log(‘执行‘);
    }
}

class Command {
    constructor(receiver) {
        this.receiver = receiver;
    }
    cmd() {
        console.log(‘触发命令‘);
        this.receiver.exec();
    }
}

class Invoker {
    constructor(command) {
        this.command = command;
    }
    invoke() {
        console.log(‘开始‘);
        this.command.cmd();
    }
}

// 士兵
let soldier = new Receiver();

// 小号手
let trumpeter = new Command(soldier);

// 将军
let general = new Invoker(trumpeter);
general.invoke();

 

设计原则验证
命令对象于执行对象分开,解耦
符合开放封闭原则

 

前端设计模式 命令模式

原文:https://www.cnblogs.com/wzndkj/p/11870493.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!