Java 实现命令(Command)模式

来源:互联网 发布:linux ntp校时 编辑:程序博客网 时间:2024/05/24 06:30

类图


public interface ICommand {void execute();}

public class ConcreteCommand implements ICommand {private Receiver receiver;public ConcreteCommand(Receiver receiver) {this.receiver = receiver;}@Overridepublic void execute() {this.receiver.action();}}

public class Receiver {public void action() {System.out.println("receiver do something");}}

public class Invoker {private ICommand command;public Invoker(ICommand command) {this.command = command;}public void invoke() {this.command.execute();}}

/* * 命令(Command)模式 * 请求与执行 分离 * 可以多个命令接口的实现类,隐藏真实的被调用方 */public class Test {public static void main(String[] args) {Receiver receiver = new Receiver();//真正的执行者ICommand command = new ConcreteCommand(receiver);//用于的隔离的命令Invoker invoker = new Invoker(command );//调用者invoker.invoke();}}


0 0