资源描述:
《深入理解javascript系列(34):设计模式之命令模式详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解深入理解JavaScript系列(34):设计模式之命令模式详解 这篇文章主要介绍了深入理解JavaScript系列(34):设计模式之命令模式详解,命令模式(Command)的定义是:用于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及执行可撤销的操作,需要的朋友可以参考下 介绍 命令模式(Command)的定义是:用于将一个请求封
2、装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及执行可撤销的操作。也就是说改模式旨在将函数的调用、请求和操作封装成一个单一的对象,然后对这个对象进行一系列的处理。此外,可以通过调用实现具体函数的对象来解耦命令对象与接收对象。 正文 我们来通过车辆购买程序来展示这个模式,首先定义车辆购买的具体操作类: 代码如下: $(function(){ varCarManager={ //请求信息 requestInfo:function(model,id){对党的认识也有了进一步的提高。
3、才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 return'Theinformationfor'+model+ 'withID'+id+'isfoobar'; }, //购买汽车 buyVehicle:function(model,id){ return'YouhavesuccessfullypurchasedItem' +
4、id+',a'+model; }, //组织view arrangeViewing:function(model,id){ return'Youhavesuccessfullybookedaviewingof' +model+'('+id+')'; } }; })(); 来看一下上述代码,通过调用函数来简单执行manager的命令,然而在一些情况下,我们并不想直接调用对象内部的方法。这样会增加对象与对象间的依赖。现在我们来扩展一下这个CarManager使其能够接受任何来自包括model和carID的CarM
5、anager对象的处理请求。根据命令模式的定义,我们希望实现如下这种功能的调用:对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 代码如下: CarManager.execute({commandType:"buyVehicle",operand1:'FordEscort',operand2:''}); 根
6、据这样的需求,我们可以这样啦实现CarManager.execute方法: 代码如下: CarManager.execute=function(command){ returnCarManager[command.request](command.model,command.carID); }; 改造以后,调用就简单多了,如下调用都可以实现(当然有些异常细节还是需要再完善一下的): 代码如下: CarManager.execute({request:"arrangeViewing",model:'Ferrari'
7、,carID:''}); CarManager.execute({request:"requestInfo",model:'FordMondeo',carID:''}); CarManager.execute({request:"requestInfo",model:'FordEscort',carID:''}); CarManager.execute({request:"buyVehicle",model:'FordEscort',carID:''}); 总结对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟
8、大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 命令模式比较容易设计一个命令队列,在需求的情况下比较容易将命令计