zoukankan      html  css  js  c++  java
  • 命令模式

    命令模式(Command)
    把一个请求或者操作封装到一个对象中,从而达到用不同的请来对客户端进行参数化的目标;对请求排队或记录请求日志,以及支持可撤消的操作。

    命令模式的构成
    1.客户角色:创建一个具体命令对象,并确定其所接收者

    //客户角色
    public class Client {
     public static void main(String[] args) {
      Receiver receiver=new Receiver();
      Command command=new ConcreteCommand(receiver);
      Invoker invoker=new Invoker(command);
      invoker.doInvokerAction();
     }
    }
    2.命令角色:声明一个给所有具体命令类的抽象角色,通常由一个接口或抽象类实现

    //命令角色
    public interface Command {
     public void execute();
    }
    3.具体命令角色:定义一个接收者和行为之间的弱耦合,实现execute方法,负责调用接收者的相应操作

    //具体命令角色
    public class ConcreteCommand implements Command {
     private Receiver receiver;
     public ConcreteCommand(Receiver receiver){
      this.receiver=receiver;
     }
     @Override
     public void execute() {
      receiver.doAction();
     }
    }
    4.请求者角色:负责调用命令对象执行请求

    //请求者角色
    public class Invoker {
     private Command command;
     public Invoker(Command command){
      this.command=command;
     }
     public void doInvokerAction(){
      command.execute();
     }
    }
    5.接收者角色:负责具体实施和执行一个请求

    //接收者角色
    public class Receiver {
     public void doAction(){
      System.out.println("执行操作!");
     }
    }

  • 相关阅读:
    Broadcom BCM94352z/DW1560驱动新姿势
    amd显卡更新最新驱动鼠标顿卡的解决方法
    设置 P2415Q & P2715Q 显示器使其支持 HDMI 2.0 启用 4k@60hz
    Web基础之Redis
    前端基础之AJAX
    Java基础之枚举
    解决Tomcat在idea控制台乱码问题
    JQuery基础
    JavaScript基础笔记
    前端基础之Html、CSS
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2288688.html
Copyright © 2011-2022 走看看