命令模式-大话设计模式

简介: 命令模式-大话设计模式

一、介绍

命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

二、代码实现

 

//接受者
public class Receiver {
    public void action() {
        System.out.println("执行请求");
    }
}
//抽象命令类
public abstract class Command {
    //接收者
    protected Receiver receiver;
 
    public Command(Receiver receiver) {
        this.receiver = receiver;
    }
 
    //执行命令
    public abstract void excuteCommand();
}
 
//具体命令类
public class ConcreteCommand extends Command{
    public ConcreteCommand(Receiver receiver) {
        super(receiver);
    }
 
    @Override
    public void excuteCommand() {
        receiver.action();
    }
}
 
//调用方
public class Invoker {
    private Command command;
 
    public void setCommand(Command command) {
        this.command = command;
    }
 
    public void excuteCommand() {
        command.excuteCommand();
    }
}

测试:

public class Client {
    public static void main(String[] args) {
        //接收者
        Receiver receiver = new Receiver();
        //命令给接收者
        Command command = new ConcreteCommand(receiver);
        //调用方
        Invoker invoker = new Invoker();
        invoker.setCommand(command);
        //执行命令
        invoker.excuteCommand();
    }
}

 

相关文章
|
设计模式 消息中间件 Java
【设计模式】【行为型模式】命令模式(Command)
一、入门 什么是命令模式? 命令模式是一种行为设计模式,它将请求或操作封装为对象,从而使你可以用不同的请求对客户进行参数化,并支持请求的排队、记录、撤销等操作。 命令模式的核心是将“请求”封装为独立的
363 15
|
设计模式 存储 算法
「全网最细 + 实战源码案例」设计模式——命令模式
命令模式(Command Pattern)是一种行为型设计模式,将请求封装成独立对象,从而解耦请求方与接收方。其核心结构包括:Command(命令接口)、ConcreteCommand(具体命令)、Receiver(接收者)和Invoker(调用者)。通过这种方式,命令的执行、撤销、排队等操作更易扩展和灵活。 适用场景: 1. 参数化对象以操作。 2. 操作放入队列或远程执行。 3. 实现回滚功能。 4. 解耦调用者与接收者。 优点: - 遵循单一职责和开闭原则。 - 支持命令组合和延迟执行。 - 可实现撤销、恢复功能。 缺点: - 增加复杂性和类数量。
537 14
「全网最细 + 实战源码案例」设计模式——命令模式
|
设计模式 存储 算法
Java设计模式-命令模式(16)
Java设计模式-命令模式(16)
303 2
|
设计模式 存储 Java
【十二】设计模式~~~行为型模式~~~命令模式(Java)
文章详细介绍了命令模式(Command Pattern),这是一种对象行为型模式,用于将请求封装成对象,实现请求发送者与接收者的解耦,从而降低系统耦合度、提高灵活性,并支持命令的排队、记录、撤销和恢复操作。通过案例分析、结构图、时序图和代码示例,文章展示了命令模式的组成部分、实现方式和应用场景,并讨论了其优点、缺点和适用情况。
|
设计模式 JavaScript API
js设计模式【详解】—— 命令模式
js设计模式【详解】—— 命令模式
271 6
|
设计模式 存储 Java
Java设计模式-命令模式
命令(Command)模式是指将请求封装成为一个对象,使发出请求和执行请求的责任分割开,方便将命令对象进行存储、传递、调用、增加与管理。 也就是将发送者、接收者和调用命令封装成独立的对象,来供客户端调用。属于行为模式的一种。
229 1
Java设计模式-命令模式
|
设计模式 Java 调度
【设计模式系列笔记】命令模式
命令模式是一种行为设计模式,它将请求封装成一个对象,从而允许使用不同的请求、队列或日志请求参数化客户端对象,同时支持撤销操作。
423 1
|
设计模式 Java 调度
小谈设计模式(24)—命令模式
小谈设计模式(24)—命令模式
|
设计模式 Java
23种设计模式,命令模式的概念优缺点以及JAVA代码举例
【4月更文挑战第7天】命令模式是一种行为设计模式,它将请求或简单操作封装为一个对象。这种模式允许用户通过调用对象来参数化其他对象的方法,并能保存、排队和执行方法调用。
252 1
|
设计模式 Java uml
必知的技术知识:JAVA【设计模式】命令模式
必知的技术知识:JAVA【设计模式】命令模式
183 0