JavaScript设计模式经典之命令模式


Posted in Javascript onFebruary 24, 2016

一、命令模式概念

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

二、命令模式的作用和注意事项

模式作用:

1、将函数的封装、请求、调用结合为一体

2、调用具体的函数解耦命令对象与接收对象

3、提高程序模块化的灵活性

注意事项:

1、不需要借口一致,直接调用函数即可,以免造成浪费

三、命令模式代码和实战总结

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>

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

以上所述是小编给大家介绍的JavaScript设计模式经典之命令模式,希望对大家有所帮助!

Javascript 相关文章推荐
传智播客学习之java 反射
Nov 22 Javascript
Javascript Ajax异步读取RSS文档具体实现
Dec 12 Javascript
JavaScript省市联动实现代码
Feb 15 Javascript
拖动时防止选中
Feb 03 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
基于 Bootstrap Datetimepicker 联动
Aug 03 Javascript
Bootstrap栅格系统的使用详解
Oct 30 Javascript
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
解决vue-cli脚手架打包后vendor文件过大的问题
Sep 27 Javascript
抖音短视频(douyin)去水印工具的实现代码
Mar 30 Javascript
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
JavaScript设计模式经典之工厂模式
Feb 24 #Javascript
JavaScript的设计模式经典之建造者模式
Feb 24 #Javascript
JavaScript的设计模式经典之代理模式
Feb 24 #Javascript
jQuery实现验证年龄简单思路
Feb 24 #Javascript
JavaScript实现99乘法表及隔行变色实例代码
Feb 24 #Javascript
JavaScript中Object.prototype.toString方法的原理
Feb 24 #Javascript
JavaScript判断变量是否为数组的方法(Array)
Feb 24 #Javascript
You might like
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
与文件上传有关的php配置参数总结
2013/06/14 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
php算法实例分享
2015/07/14 PHP
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
jquery-mobile基础属性与用法详解
2016/11/23 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
vue中appear的用法
2017/08/17 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
讲解Python中的递归函数
2015/04/27 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Python探索之Metaclass初步了解
2017/10/28 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python读写zip压缩文件的方法
2018/08/29 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
预备党员思想汇报范文
2014/01/11 职场文书
家长给孩子的评语
2014/01/30 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
Nginx配置Https安全认证的实现
2021/05/26 Servers
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python