JS设计模式的命令模式概念和用法分析
本文阐述了命令模式在JS设计模式中的概念和用法。分享给大家参考,如下:
客户创建命令;调用者执行命令;简单的命令对象通常用于消除两个对象(调用者和接收者)之间的耦合,而复杂的命令对象通常用于封装不可分离的或事务性的指令。
命令模式的主要目的是隔离调用对象(用户界面、应用编程接口、代理等)。)从实现该操作的对象中移除。只要两个对象之间的交互需要更高程度的模块化,就可以使用这种模式。
命令意味着使用简单的方法或函数来执行与该命令相关的实际操作。就像用遥控器打开电视一样,只需一个按钮就可以简单方便地打开电视。我们不需要关心它的具体实现操作。有一台电视机来处理它。电视给遥控器提供了一个接口(信号),遥控器点击时只需要实现这个接口。
命令:定义命令的接口并声明执行方法。ConcreteCommand:命令接口实现对象,即“虚拟”实现;通常,您会握住接收器并调用接收器的函数来完成命令要执行的操作。接收者:接收者,实际执行命令的对象。任何类都可以成为接收者,只要它能实现命令所要求的相应功能。Invoker:执行请求需要命令对象,通常保存命令对象,可以保存很多命令对象。这是客户端真正触发命令并要求命令执行相应操作的地方,相当于使用命令对象的入口。客户端:创建一个特定的命令对象,并设置命令对象的接收者。请注意,这不是我们传统意义上的客户端,而是命令对象和接收器的集合。也许将这个客户端称为汇编程序更好,因为实际使用命令的客户端会触发Invoker的执行
模态分析
1.命令模式的本质是封装命令,将发布命令的责任和执行命令的责任分开。2.每个命令都是一个操作:请求方发送一个执行操作的请求;接收方接收请求并执行操作。3.命令模式允许请求方和接收方独立,使得请求方不需要知道接收方的接口,更不需要知道请求是如何接收的,以及操作是否、何时、如何执行的。4.命令模式使请求本身成为一个对象,可以像其他对象一样存储和传递。5.命令模式的关键是引入抽象命令接口,发送方为抽象命令接口编程,只有实现抽象命令接口的具体命令才能与接收方关联。
模式优势
1.降低对象之间的耦合度。2.新命令可以很容易地添加到系统中。3.设计组合命令很容易。4.调用同一个方法实现不同的功能
//command var create command=function(receiver){ this。接收器=接收器;} create command . prototype . execute=function(){ this . receiver . action();}//接收器TV vartvon=function(){ } tvon . prototype . action=function(){ alert(' tvon ');}//接收器TV var TV off=function(){ } TV off . prototype . action=function(){ alert(' TV off ');}//呼叫者远程控制varinvoker=function(TV on command,tvoffcommand) {this。电视点播=电视点播;this . tvoff command=tvoff command;} invoker . prototype . tvon=function(){ this . tvoncommand . execute();} invoker . prototype . tvoff=function(){ this . tvoff command . execute();}执行客户端
var tvOnCommand=new create command(new TVOn());var TVOff command=new create command(new TVOff());var Invoker=new Invoker(tvOnCommand,tvoff command);invoker . tvon();invoker . tvoff();关于JavaScript的更多信息,请参考本网站的主题:《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、0103010。
希望本文对JavaScript编程有所帮助。
版权声明:JS设计模式的命令模式概念和用法分析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。