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

    命令模式的四种角色:

    1、接受者(Receiver)负责执行请求的相关操作的一个类

    2、命令接口:(Command)用于封装请求的方法

    3、具体命令:(ConcreteCommand)命令接口的具体实现类

    4、请求者:(Invoker)包含了命令接口的实例变量,负责调用具体命令

    请求者:
    package DesignPatterns.CommandMode;
    
    public class Invoker {
        private Command command;
    
        public void setCommand(Command command) {
            this.command = command;
        }
        public void startCommand(){
            command.execute();
        }
    }
    命令接口:
    package DesignPatterns.CommandMode;
    
    public interface Command {
        public void execute();
    }

    具体命令:
    package DesignPatterns.CommandMode;

    public class ConcreteCommand implements Command{
    private Receiver receiver;
    public ConcreteCommand(Receiver receiver)
    {
    this.receiver=receiver;
    }
    public void execute()
    {
    receiver.printCommand();
    }


    }

    接受者:

    package DesignPatterns.CommandMode;

    public class Receiver {
    public void printCommand()
    {
    System.out.println("执行命令");
    }

    }


    测试类:

    package DesignPatterns.CommandMode;

    public class Application {
    public static void main(String[] args)
    {
    Receiver receiver=new Receiver();
    Command command=new ConcreteCommand(receiver);
    Invoker invoker=new Invoker();
    invoker.setCommand(command);
    invoker.startCommand();

    }
    }


  • 相关阅读:
    MySQL主从复制与读写分离
    MySQL主从同步、读写分离配置步骤
    c# 无损压缩图片,接口传过来的是字节
    C# 和JAVA AES加密之间的互相兼容,C#版
    list的线程非安全性
    webrequesthelper
    .net core 实现微信登陆
    .net core 实现QQ登陆网站
    c# 深拷贝
    在H+框架下的一个给iframe 的body 添加事件。
  • 原文地址:https://www.cnblogs.com/dloading/p/10752509.html
Copyright © 2011-2022 走看看