温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

命令模式封装Java请求与调用

发布时间:2024-09-29 15:44:28 来源:亿速云 阅读:82 作者:小樊 栏目:编程语言

命令模式(Command Pattern)是一种行为设计模式,它将请求的发送者和接收者解耦,使得请求的发送者和接收者不直接依赖于对方。在 Java 中,命令模式通常通过接口和实现类来实现。以下是一个简单的示例,展示了如何使用命令模式封装 Java 请求与调用。

  1. 首先,定义一个命令接口 Command
public interface Command {
    void execute();
}
  1. 然后,创建具体的命令实现类。这里以一个 Request 类为例,它包含了请求的详细信息,并实现了 Command 接口:
public class Request implements Command {
    private String requestDetails;

    public Request(String requestDetails) {
        this.requestDetails = requestDetails;
    }

    @Override
    public void execute() {
        System.out.println("Request executed: " + requestDetails);
    }
}
  1. 接下来,创建一个接收者类 Receiver,它负责处理请求:
public class Receiver {
    public void handleRequest(String requestDetails) {
        System.out.println("Receiver handling request: " + requestDetails);
    }
}
  1. 最后,创建一个调用者类 Invoker,它负责调用命令对象执行请求:
public class Invoker {
    private Command command;

    public void setCommand(Command command) {
        this.command = command;
    }

    public void call() {
        command.execute();
    }
}
  1. 现在,你可以在客户端代码中使用这些类来实现请求的封装与调用:
public class Client {
    public static void main(String[] args) {
        // 创建接收者对象
        Receiver receiver = new Receiver();

        // 创建命令对象
        Command request = new Request("Sample request");

        // 将命令对象传递给调用者
        Invoker invoker = new Invoker();
        invoker.setCommand(request);

        // 调用者执行命令
        invoker.call();
    }
}

运行上述代码,你将看到如下输出:

Receiver handling request: Sample request
Request executed: Sample request

通过这种方式,命令模式将请求的发送者和接收者解耦,使得代码更加灵活和可扩展。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI