js设计模式(11)---命令模式

0.前言                                                                  

   早上好,早晨的时光总是美好的,坐在空调屋里,看着外边的蓝天白云,不停地敲击着键盘,多么美好地享受,也许屌丝就是如此容易满足。

1.什么是命令模式?                                                

   用于将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;可以对请求排队或记录请求日志以及执行可撤销的操作。也就是说该模式旨在将函数的调用、请求和操作封装成一个单一的对象,然后对这个对象进行一系列的处理。此外,可以降低调用对象和接受对象之间的耦合,提高了模块化程度。

2.使用条件                                                             

   命令模式的主要用途是把调用对象和接受对象分割开,降低代码的耦合,提高模块化程度,在创建用户界面方面非常有用;二、请求需要排队延迟、不受限制地取消,那么就可以使用该模式。

3.代码说明                                                             

var Calculator={
      add:function(x,y){
         return x+y;
      },
      substract:function(x,y){
         return x-y;
      },
      multiply:function(x,y){
         return x*y;
      },
      divide:function(x,y){
         return x/y;
      }
   }
   Calculator.calc =function(command){
      return Calculator[command.type](command.op1,command.opd2)
   };
   Calculator.calc({type:'add',op1:1,op2:1});
   Calculator.calc({type:'substract',op1:5,op2:2});
   Calculator.calc({type:'multiply',op1:5,op2:2});
   Calculator.calc({type:'divide',op1:8,op2:4});

4.个人理解                                                             

   1.命令模式是为了把一个请求封装成一个对象,这样就可以用多个请求对客户进行参数化;

   2.好处:降低调用者和接受者之间的耦合性,提高模块化;可以对请求进行排队、记录请求日记、执行可撤销的操作;

   3.在创建用户界面是有很好的用处,可以实现界面元素和实际操作类的分离。

posted @ 2013-07-04 09:43  沙漠孤鹰1140  阅读(780)  评论(0编辑  收藏  举报