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

设计模式之命令模式

作者: 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