设计模式之命令模式

2016-03-26  本文已影响20人  Binaryify

命令模式

在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式(Command Pattern)。

模式作用:

  1. 将函数的封装,请求,调用结合为一体
  2. 调用具体的函数解耦命令对象与接收对象
  3. 提高程序模块化的灵活性

注意事项:

  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:"100"
})
lian.lianzhang({
    type:"bubing",
    num:"50"
})
上一篇下一篇

猜你喜欢

热点阅读