zoukankan      html  css  js  c++  java
  • 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.在创建用户界面是有很好的用处,可以实现界面元素和实际操作类的分离。

  • 相关阅读:
    android技能树
    BitmapFactory 读取图片方法总结
    如何利用SecureCRT连接Ubuntu12.0.4
    Ubuntu 12.04如何从登录界面登录root
    ubuntu中vi在编辑状态下方向键不能用的解决
    在ubuntu12.0.4上搭建samba服务器以实现文件共享
    怎么利用ultraISO对一个文件夹制作ISO镜像
    VMware网络选项分析
    在vmware 6.5+ubuntu12.04上安装VMware tools出现问题的分析
    在ubuntu中获得root权限
  • 原文地址:https://www.cnblogs.com/shamoguying1140/p/3170961.html
Copyright © 2011-2022 走看看