命令 模式

Posted 沿着路走到底

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了命令 模式相关的知识,希望对你有一定的参考价值。

概念

执行命令时,发布者和执行者分开

中间加入命令对象,作为中转站

演示

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()

JS中的应用

网页富文本编辑器操作,浏览器封装了一个命令对象

document.execCommand('bold')

document.execCommand('undo')

1

以上是关于命令 模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式整理_命令模式

命令模式

设计模式之命令模式(行为型)

设计模式之命令模式(行为型)

命令模式

java设计模式-----23命令模式