javascript设计模式笔记-16 命令模式

简述

例子

就拿一个电话的功能来作例子吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var phone = {
    call : function (name, number) {
        alert('给 '+ name +'('+ number +')拨打电话。');
    },
    sms : function (name, number) {
        alert('给 '+ name +'('+ number +')发送信息。');
    }
}

// 增加命令模式
phone.execute = function (command) {
    return this[command.action](command.name, command.number);
};

phone.execute({
    action: 'call',
    name: '小明',
    number: '15555555555'
});

phone.execute({
    action: 'sms',
    name: '小明',
    number: '15555555555'
});