今天是
当前位置:微山新闻资讯 > 系列报道 >

JavaScript编程命令模式的原理

时间:2019-07-23 18:30 来源: 作者:微山新闻资讯

对于程序员来说,掌握更多的编程开发设计模式能够让我们在软件开发过程中去适应更多的开发环境,下面我们就一起来了解一下,JavaScript编程命令模式的原理。

JavaScript编程命令模式的原理

命令模式:请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。

模式特点

命令模式由三种角色构成:

发布者invoker(发出命令,调用命令对象,不知道如何执行与谁执行);

接收者receiver(提供对应接口处理请求,不知道谁发起请求);

命令对象command(接收命令,调用接收者对应接口处理发布者的请求)。

发布者invoker和接收者receiver各自独立,将请求封装成命令对象command,请求的具体执行由命令对象command调用接收者receiver对应接口执行。

命令对象command充当发布者invoker与接收者receiver之间的连接桥梁(中间对象介入)。实现发布者与接收之间的解耦,对比过程化请求调用,命令对象command拥有更长的生命周期,接收者receiver属性方法被封装在命令对象command属性中,使得程序执行时可任意时刻调用接收者对象receiver。因此command可对请求进行进一步管控处理,如实现延时、预定、排队、撤销等功能。

应用场景

有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。需要一种松耦合的方式来设计程序,使得发送者和接收者能够消除彼此之间的耦合关系。

——《JavaScript设计模式与开发实践》

不关注执行者,不关注执行过程;

只要结果,支持撤销请求、延后处理、日志记录等。

优缺点

优点:

发布者与接收者实现解耦;

可扩展命令,对请求可进行排队或日志记录。(支持撤销,队列,宏命令等功能)。

缺点:

额外增加命令对象,非直接调用,存在一定开销。

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!

通知公告
百姓心声
友情链接: