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

    命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。

    //命令接受者

    public class Receiver {
    public void Action(){
    System.out.println("烧茄子");
    }
    }

    //命令抽象类  

    public abstract class Command {

    protected Receiver receiver;

    public Command(Receiver receiver){

    this.receiver = receiver; }

    public abstract void Execute(); }

    //命令实现类 

    public class ConcreateCommand extends Command{

    public ConcreateCommand(Receiver receiver) {
    super(receiver);
    }
    public void Execute() {
    receiver.Action();
    }
    }

    //调用者类 

    public class Invoker {

    private Command command;
    public void SetCommand(Command command){
    this.command = command;
    }
    public void ExecuteCommand(){
    command.Execute();
    }
    }

    //测试类

    public class Test {  

    public static void main(String[] args) {

    Receiver receiver = new Receiver(); //创建接受者

    Command command = new ConcreateCommand(receiver); //创建命令

    Invoker invoker = new Invoker(); //创建执行者

    //设置并执行命令

    invoker.SetCommand(command);

    invoker.ExecuteCommand(); } }

  • 相关阅读:
    Angular1.0
    当今流行的 React.js 适用于怎样的 Web App?
    bower的权限问题
    淡定啊淡定
    JBoss for luna
    JQuery的二维码插件
    今天学人家玩云主机
    laravel5.2/laravel5.3入门指南 Windows 上快速安装并运行 Laravel 5.x
    验证mySqli扩展是否
    Amazon EC2 的名词解释
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/2517191.html
Copyright © 2011-2022 走看看