Skip to content

Latest commit

 

History

History
27 lines (24 loc) · 916 Bytes

File metadata and controls

27 lines (24 loc) · 916 Bytes

六. 命令模式

用来对方法调用进行参数化处理和传送,经过这样处理过的方法调用可以在任何需要的时候执行。也就是说该模式旨在将函数的调用、请求和操作封装成一个单一的对象,然后对这个对象进行一些列的处理。他也可以用来消除调用操作的对象和实现操作的对象之间的耦合。这为各种具体的类的更换带来了极大的灵活性。

//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
});