用来对方法调用进行参数化处理和传送,经过这样处理过的方法调用可以在任何需要的时候执行。也就是说该模式旨在将函数的调用、请求和操作封装成一个单一的对象,然后对这个对象进行一些列的处理。他也可以用来消除调用操作的对象和实现操作的对象之间的耦合。这为各种具体的类的更换带来了极大的灵活性。
//1.一个连有炮兵和步兵,司令可以下命令调动军队打仗
var lian = {};
lian.paobing = function(pao_num) {
console.log(pao_num + '门炮准备战斗');
};
lian.bubing = function(bubing_num) {
console.log(bubing_num + '人准备战斗');
};
lian.lianzhang = function(mingling) {
lian[mingling.type](mingling.num);
};
//司令下命令
lian.lianzhang({
type: 'paobing',
num: 10
});
lian.lianzhang({
type: 'bubing',
num: 100
});