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 相关文章推荐
JavaScript触发器详解
Mar 10 Javascript
Mozilla 表达式 __noSuchMethod__
Apr 05 Javascript
jquery ajax 同步异步的执行示例代码
Jun 23 Javascript
jQuery源码分析-01总体架构分析
Nov 14 Javascript
jquery ajax例子返回值详解
Sep 11 Javascript
js获取数组的最后一个元素
Apr 14 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
JS请求servlet功能示例
Jun 01 Javascript
node实现简单的反向代理服务器
Jul 26 Javascript
javascript trie前缀树的示例
Jan 29 Javascript
详解Javascript中new()到底做了些什么?
Mar 29 Javascript
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
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
第十二节--类的自动加载
2006/11/16 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
jquery基础教程之数组使用详解
2014/03/10 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
2019/01/29 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
python计算最小优先级队列代码分享
2013/12/18 Python
Python和php通信乱码问题解决方法
2014/04/15 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python中property属性实例解析
2018/02/10 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
python 实现数据库中数据添加、查询与更新的示例代码
2020/12/07 Python
python实现定时发送邮件
2020/12/23 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
酒店人事专员岗位职责
2013/12/19 职场文书
企业宣传方案
2014/03/04 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
python中%格式表达式实例用法
2021/06/18 Python