1 / 46
文档名称:

软件设计模式:SDP04-02命令模式.ppt

格式:ppt   大小:1,711KB   页数:46页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件设计模式:SDP04-02命令模式.ppt

上传人:窝窝爱蛋蛋 2021/12/8 文件大小:1.67 MB

下载得到文件列表

软件设计模式:SDP04-02命令模式.ppt

相关文档

文档介绍

文档介绍:命令模式
命令模式
模式动机与定义
模式结构与分析
模式实例与解析
模式效果与应用
模式扩展
命令模式
模式动机
在现实生活中,通过开关可以控制一些电器的打开和关闭,例如电灯或者排气扇。在购买开关时,我们并不知道它将来到底用于控制什么电器,也就是说,开关与电灯、排气扇并无直接关系,一个开关在安装之后可能用来控制电灯,也可能用来控制排气扇或者其他电器设备。开关与电器之间通过电线建立连接,如果开关打开,则电线通电,电器工作;反之,开关关闭,电线断电,电器停止工作。相同的开关可以通过不同的电线来控制不同的电器,如图所示。
命令模式
模式动机
命令模式
模式动机
我们可以将开关理解成一个请求的发送者,用户通过它来发送一个“开灯”请求,而电灯是“开灯”请求的最终接收者和处理者,在图中,开关和电灯之间并不存在直接耦合关系,它们通过电线连接在一起,使用不同的电线可以连接不同的请求接收者,只需更换一根电线,相同的发送者(开关)即可对应不同的接收者(电器)。
命令模式
模式动机
在软件开发中也存在很多与开关和电器类似的请求发送者和接收者对象,例如一个按钮,它可能是一个“关闭窗口”请求的发送者,而按钮点击事件处理类则是该请求的接收者。
此时,我们特别希望能够以一种松耦合的方式来设计软件,使得请求发送者与请求接收者能够消除彼此之间的耦合,让对象之间的调用关系更加灵活,可以灵活地指定请求接收者以及被请求的操作。命令模式为此类问题提供了一个较为完美的解决方案。
命令模式
模式动机
命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。
命令模式
模式定义
命令模式(Command Pattern):将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。
命令模式的定义比较复杂,提到了很多术语,例如“用不同的请求对客户进行参数化”、“对请求排队”,“记录请求日志”、“支持可撤销操作”等,在后面我们将对这些术语进行一一讲解。
命令模式
模式定义
命令模式的核心在于引入了命令类,通过命令类来降低发送者和接收者的耦合度,请求发送者只需指定一个命令对象,再通过命令对象来调用请求接收者的处理方法,其结构如图所示:
命令模式
模式结构
命令模式
命令模式包含如下角色
Command:抽象命令类一般是一个抽象类或接口,在其中声明了用于执行请求的execute()等方法,通过这些方法可以调用请求接收者的相关操作。
ConcreteCommand:具体命令类是抽象命令类的子类,实现了在抽象命令类中声明的方法,它对应具体的接收者对象,将接收者对象的动作绑定其中。在实现execute()方法时,将调用接收者对象的相关操作(Action)。

最近更新

大班动物园市公开课获奖教案省名师优质课赛课.. 5页

多选题 职业道德试卷 20页

大班《等太阳》市公开课获奖教案省名师优质课.. 5页

大公鸡小班市公开课获奖教案省名师优质课赛课.. 5页

垃圾问题小思考市公开课获奖教案省名师优质课.. 7页

2024年人才培养意向书 5页

后滚翻体育市公开课获奖教案省名师优质课赛课.. 5页

2024年人事工作计划集合15篇 44页

北风吹音乐市公开课获奖教案省名师优质课赛课.. 5页

动物户外市公开课获奖教案省名师优质课赛课一.. 4页

茶研学旅游项目商业计划书 7页

2024年产品销售合同中文 13页

2024年产品研发工作总结11篇 32页

初中写事作文市公开课获奖教案省名师优质课赛.. 5页

2024年产假申请书模板合集八篇 4页

函数的单调性与导数市公开课获奖教案省名师优.. 6页

冰淇淋折纸的市公开课获奖教案省名师优质课赛.. 4页

冀教版四年级语文下册市公开课获奖教案省名师.. 7页

六年级数学负数的市公开课获奖教案省名师优质.. 4页

六年级上册市公开课获奖教案省名师优质课赛课.. 7页

入学第一天市公开课获奖教案省名师优质课赛课.. 6页

育婴师实操试题(全) 10页

2023高考新高考一卷数学试题 4页

数字媒体艺术概论 第四版 3页

2023年天津市河东区中考一模化学试题含答案 8页

六年级英语学困生的转化措施 3页

最新JTG-F80-2-2022公路工程质量检验评定标准.. 89页

党群服务中心建设申请报告集合4篇 31页

房屋状况调查表 2页

青海省高等院校“昆仑学者”计划实施办法 32页