设计模式之:命令模式

业务场景

一般就是说,你可能会执行一些操作,这些操作都实现一个接口

但是有不同的命令实现,然后命令的执行类就是同一个,你需要执行哪个命令就封装那个命令后发送给执行类即可

命令模式非常适合跟工厂方法模式结合起来使用,就是使用多个工厂来制造出不同的命令类来,将命令的构造放在工厂方法中

public class CommandPatternDemo {

    public static void main(String[] args) {
        Command commandA = new CommandA();
        Command commandB = new CommandB();
        Invoker invoker = new Invoker();
        invoker.setCommand(commandA);
        invoker.execute();
        invoker.setCommand(commandB);
        invoker.execute();
    }

    public interface Command {
        void execute();
    }

    public static class CommandA implements Command {
        @Override
        public void execute() {
            System.out.println("命令A的功能逻辑");
        }
    }

    public static class CommandB implements Command {
        @Override
        public void execute() {
            System.out.println("命令B的功能逻辑");
        }
    }

    public static class Invoker {
        private Command command;
        public Command getCommand() {
            return command;
        }
        public void setCommand(Command command) {
            this.command = command;
        }
        public void execute() {
            System.out.println("一些别的逻辑A");
            command.execute();
            System.out.println("一些别的逻辑B");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值