Command_Pattern

本文深入解析了命令模式设计,展示了如何通过将请求封装为对象来参数化操作,从而实现请求的解耦。通过具体实例,文章详细介绍了命令模式的组成部分,包括Command、ConcreteCommand、Receiver和Invoker,并演示了它们之间的交互过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package command_pattern;

public abstract class Command {
    protected Receiver receiver;
    public Command(Receiver receiver) {
        this.receiver = receiver;
    }
    public abstract void executed();
}

package command_pattern;

public class ConcreteCommand extends Command{
    public ConcreteCommand(Receiver receiver) {
        super(receiver);
    }
    @Override
    public void executed() {
        receiver.action();//Give the command to receiver.
    }
}

package command_pattern;

public class Receiver {
    public void action() {
        System.out.println("Executed the request.");
    }
}

package command_pattern;

public class Invoker {
    private Command command;//It can gather a set of commands to execute together
    //through using ArrayList<T>.
    public void setCommand(Command command) {
        this.command = command;
    }
    public void executedCommand() {
        command.executed();
    }
}

package command_pattern;

public class Main {
    public static void main(String args[]) {
        Receiver r = new Receiver();
        Command c = new ConcreteCommand(r);//Map the command and receiver together.
        Invoker i = new Invoker();
        i.setCommand(c);//Invoker composites the command so as to invoke different
        //command.The super class command composite the receiver so as to send the
        //command to the related receiver.
        i.executedCommand();
    }
}
This is a general introduction to the 23 design patterns:
https://blog.youkuaiyun.com/GZHarryAnonymous/article/details/81567214

See more source code:[GZHarryAnonymous](https://github.com/GZHarryAnonymous/Design_Pattern)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值