Javascript乱弹设计模式系列(5) - 命令模式(Command)
2010-09-14 13:38:52 来源:WEB开发网核心提示:概述在各种各样的行为实现中,行为请求者与行为实现者紧密耦合,Javascript乱弹设计模式系列(5) - 命令模式(Command),当每增加一个行为实现的时候,行为请求者必须增加一个对行为的处理,类图实例分析现在开始利用命令模式来应用到一个在线编辑器的场景中,并且详细分析一下:这里先给大家看下效果图(兼容多浏览器)
概述
在各种各样的行为实现中,行为请求者与行为实现者紧密耦合,当每增加一个行为实现的时候,行为请求者必须增加一个对行为的处理,这样就需要大量改动请求者的操作,显然这样不利于维护和扩展。为了让行为请求者和行为实现者解耦,可以将行为封装为一个命令对象,但需要处理行为时,只要请求者知道命令对象,它本身不需要知道命令对象都做些什么,命令对象负责执行 接收者 的真正实现,这样就达到二者之间松耦合的目的。
定义
命令模式是将请求封装成对象,这可以让你使用不同请求、队列,或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。
类图
实例分析
现在开始利用命令模式来应用到一个在线编辑器的场景中,并且详细分析一下:
这里先给大家看下效果图(兼容多浏览器):
这里我引用了我的第4篇-组合模式的菜单例子进行改进;将命令模式和组合模式相结合的方式来阐述例子。
其中主菜单包括:
文件(子菜单:新建、导出、退出)
编辑(子菜单:剪切、复制、粘贴、删除)
格式(子菜单:字体、字号、加粗、斜体、下划线、位置、编号、字体颜色)
插入(子菜单:插入链接、插入图片),操作(撤销、重做、切换HTML)
自定义格式(子菜单:格式1)
Tags:Javascript 乱弹 设计模式
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接