-
特点:在使用终端操作窗口时,在进行多次命令操作后,可以使用方向键“↑”进行回溯,“回车”再次运行,实际就是终端保存了每次操作的命令,才得以实现这样的操作,像类似的场景还有文本编辑类程序,Undo和Redo操作,所以像类似的程序操作具体要怎样实现?
那在面向对象编程中,首先要考虑的问题就是如果对命令操作进行抽象,每个命令要实现什么样的操作,每个操作需要哪些数据,这些都是要根据实际情况进行考量,其次就是对命令的管理,如:创建、存储命令,以及由谁接收命令。 - 角色:
角色名称 | 角色职责 |
---|---|
Command(命令) | 定义命令接口 |
ConcreteCommand(具体命令) | 实现命令接口 |
Receiver(接受者) | Command执行命令时被操作对象,也就是命令的接收者 |
Client(请求者) | 对命令进行管理,以及分配命令接受者 |
Invoker(发动者) | 执行命令的角色(实际编程中,Client和Receiver可能由同一个类实现) |
-
角色关系:
Command-2.png
-
代码示例:Command
以上文献参考:《图解设计模式》
网友评论