美文网首页
设计模式之命令模式

设计模式之命令模式

作者: wellong_chen | 来源:发表于2017-11-14 22:57 被阅读0次
1.命令接收者
public abstract class Receiver {
    public abstract void doSomething();
}

public class Receiver1 extends Receiver {
    @Override
    public void doSomething() {
        System.out.println("hello1");
    }
}

public class Receiver2 extends Receiver {
    @Override
    public void doSomething() {
        System.out.print("hello2");
    }
}

2.命令
public abstract class Command {
    public abstract void execute();
}

public class Command1 extends Command {
    private Receiver receiver;

    public Command1(Receiver receiver) {
        this.receiver = receiver;
    }

    @Override
    public void execute() {
        receiver.doSomething();
    }
}

public class Command2 extends Command {

    private Receiver receiver;

    public Command2(Receiver receiver) {
        this.receiver = receiver;
    }

    @Override
    public void execute() {
        receiver.doSomething();
    }
}

3.调用者
public class Invoker {

    private Command command;

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

    public void action() {
        command.execute();
    }
}

public class Main {
    public static void main(String[] args) {
        Receiver receiver = new Receiver1();
        Command command = new Command1(receiver);
        Invoker invoker = new Invoker();
        invoker.setCommand(command);
        invoker.action();
    }
}

相关文章

网友评论

      本文标题:设计模式之命令模式

      本文链接:https://www.haomeiwen.com/subject/easqvxtx.html