博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
命令模式
阅读量:6721 次
发布时间:2019-06-25

本文共 434 字,大约阅读时间需要 1 分钟。

1命令模式: 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也可支持撤销的操作。

命令对象通过在特定接收者上绑定一组动作来封装一个请求。要达到这点,命令对象将动作和接收者包进对象中。这个对象只暴露出一个 execute() 方法,当此方法被调用的时候,接收者就会进行这些动作。

 

2 命令模式的更多用途

2.1 队列请求:所有命令都实现了公共的 Commond 命令,可以将命令放到队列中。一个一个取出后执行其 execute 方法。

 

3 特性:

  • 命令模式将发出请求的对象和执行请求的对象解耦
  • 在被解耦的两者之间通过命令对象进行沟通。命令对象封装了接收者和一个相关动作。
  • 调用者通过调用命令对象的execute()发出请求,这会使得接收者的动作被调用。
  • 调用者可以接受命令当做参数,甚至在运行时动态进行。
  • 命令可以支持撤销,实现一个undo方法将状态回到执行 execute 方法之前的状态。连续撤销可以通过一个堆栈保存已执行过的命令。

转载地址:http://docmo.baihongyu.com/

你可能感兴趣的文章
runtime简介
查看>>
网站收集
查看>>
MySQL5.7 (审计)安装audit审计插件
查看>>
LightSpeed 之Sql和存储过程的使用
查看>>
codeforces Looksery Cup 2015 H Degenerate Matrix 二分 注意浮点数陷阱
查看>>
EntLib 3.1学习笔记(1) : Caching Application Block
查看>>
组合模式
查看>>
C++指针专题
查看>>
在asp.net中关于<% %>,用法总结
查看>>
Go-插入排序
查看>>
LeetCode-76-Minimum Window Substring
查看>>
oracle插入数据时解决和旧数据id的冲突
查看>>
linux yum命令详解
查看>>
struts——拦截器
查看>>
程序员软件
查看>>
Android学习记录--使用继承ListActivity 注意事项
查看>>
CodeForces 1082 G Petya and Graph 最大权闭合子图。
查看>>
python IO编程-StringIO和BytesIO
查看>>
Gradle构建Java Web应用:Servlet依赖与Tomcat插件(转)
查看>>
各种ESB产品比较(转)
查看>>