• 设计模式-命令模式


            命令模式是一种行为设计模式,它将请求封装成一个对象,从而允许您根据不同的请求将客户端参数化,并将请求排队或记录日志,以及支持可撤销的操作。

            在Java中实现命令模式通常需要以下几个关键组件:

            1. 命令接口(Command Interface):它是一个接口,定义了执行命令的方法。

            2. 具体命令类(Concrete Command):它是命令接口的具体实现,封装了执行特定操作的代码。

            3. 接收者类(Receiver):它是执行实际操作的类。具体命令类将调用接收者类的方法来执行命令。

            4. 调用者类(Invoker):它是负责调用命令对象的类。它将命令对象存储在一个列表中,并在需要时调用命令对象的执行方法。

            下面是一个简单的Java代码示例,演示了如何实现命令模式:

    1. // 命令接口
    2. interface Command {
    3. void execute();
    4. }
    5. // 具体命令类
    6. class ConcreteCommand implements Command {
    7. private Receiver receiver;
    8. public ConcreteCommand(Receiver receiver) {
    9. this.receiver = receiver;
    10. }
    11. public void execute() {
    12. receiver.action();
    13. }
    14. }
    15. // 接收者类
    16. class Receiver {
    17. public void action() {
    18. System.out.println("Receiver: Performing action");
    19. }
    20. }
    21. // 调用者类
    22. class Invoker {
    23. private Command command;
    24. public void setCommand(Command command) {
    25. this.command = command;
    26. }
    27. public void executeCommand() {
    28. command.execute();
    29. }
    30. }
    31. // Usage
    32. public class Main {
    33. public static void main(String[] args) {
    34. Receiver receiver = new Receiver();
    35. Command command = new ConcreteCommand(receiver);
    36. Invoker invoker = new Invoker();
    37. invoker.setCommand(command);
    38. invoker.executeCommand();
    39. }
    40. }

            在这个示例中,我们定义了一个简单的命令模式,其中Receiver类表示接收者,ConcreteCommand类表示具体命令,Invoker类表示调用者。在Main类中,我们创建了一个接收者对象、一个具体命令对象和一个调用者对象,并演示了如何执行命令。

  • 相关阅读:
    Web APIs 第02天
    UI自动化测试,让测试高效起来
    【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(七)
    记录一次dma_alloc_coherent失败的解决
    C语言-流程控制
    GPT系列论文解读:GPT-2
    ASL集睿致远 MIPI转LVDS芯片 CS5518规格书 PIN to PIN替代GM8775C 工业级标准
    如何帮助企业优化Office管理
    React脚手架中配置代理的两种方式
    Redis缓存面临的缓存穿透问题
  • 原文地址:https://blog.csdn.net/m0_65014849/article/details/134008524