内容简介:将请求封装为对象,从而允许您使用不同的请求,队列或日志请求参数化客户端,并支持可撤销操作。
目的
将请求封装为对象,从而允许您使用不同的请求,队列或日志请求参数化客户端,并支持可撤销操作。
适用场景
- 通过要执行的操作来参数化对象。您可以使用回调函数在过程语言中表达此类参数化,也就是说,也就是说,在某处注册了一个函数,稍后再调用它。命令是面向对象的回调替换。
- 在不同时间指定,排队和执行请求。Command对象的生命周期可以独立于原始请求。如果请求的接收者可以以独立于地址空间的方式表示,那么您可以将请求的命令对象传输到另一个进程并在那里完成请求
- 支持撤消。命令的执行操作可以存储状态,以便在命令本身中反转其效果。命令接口必须有一个已添加的unexecute操作,该操作可反转上一个要执行的调用的效果。执行的命令存储在历史列表中。通过遍历此列表并分别转发调用unexecute和execute来实现无限级别的撤销和重做
- 支持日志记录更改,以便在系统崩溃时可以重新应用它们。通过使用加载和存储操作扩充Command接口,您可以保留持久的变更日志。从崩溃中恢复需要从磁盘重新加载记录的命令,然后使用执行操作重新执行这些命令。
- 基于基本操作构建高级操作系统。这种结构在支持事务的信息系统中很常见。事务封装了一组对数据的更改。Command模式提供了一种事务建模的方法。Command有一个通用接口,允许您以相同的方式调用所有事务。该模式还可以使用新事务扩展系统。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。