美文网首页
命令模式

命令模式

作者: milovetingting | 来源:发表于2020-01-17 23:53 被阅读0次

    个人博客

    http://www.milovetingting.cn

    命令模式

    模式介绍

    命令模式是行为型设计模式之一。

    模式定义

    将请求封装成一个对象,从而让用户使用不同的请求把客户端参数化;对请求排除或者记录请求日志,以及支持可撤销操作。

    使用场景

    1. 需要抽象出待执行的动作,然后以参数的形式提供出来

    2. 在不同的时刻指定、排列和执行请求。

    3. 需要支持取消操作。

    4. 支持修改日志功能。

    5. 需要支持事务操作。

    简单使用

    定义命令接收者,即执行者

    public class Receiver {
        
        /**
         * 真正执行具体命令的方法
         */
        public void action()
        {
            System.out.println("执行具体的操作");
        }
    
    }
    

    定义命令的接口类

    public interface Command {
        
        /**
         * 执行具体操作的命令
         */
        public void execute();
    
    }
    

    定义命令的实现类

    public class CommandImpl implements Command {
    
        private Receiver receiver;
    
        public CommandImpl(Receiver receiver) {
            super();
            this.receiver = receiver;
        }
    
        @Override
        public void execute() {
            receiver.action();
        }
    
    }
    

    定义请求者

    public class Invoker {
    
        private Command command;
    
        public Invoker(Command command) {
            super();
            this.command = command;
        }
    
        public void action() {
            command.execute();
        }
    
    }
    

    调用

    public static void main(String[] args) {
            Receiver receiver = new Receiver();
            Command command = new CommandImpl(receiver);
            Invoker invoker = new Invoker(command);
            invoker.action();
        }
    

    相关文章

      网友评论

          本文标题:命令模式

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