命令模式:将命令封装成对象。当接受者不想引用请求者对象的引用或者无法引用,可以考虑命令模式。
/**
* 命令 接口
*
*/
public interface Command {
public abstract void excute();
}
/**
* 具体命令
*
* 具体命令包含 接收者对象
*
*/
public class JuTiCommand implements Command{
public Reciver reciver;
public JuTiCommand(Reciver reciver){
this.reciver = reciver;
}
public void excute() {
reciver.reciverAction();
}
}
/**
* 请求者
*
*/
public class Invoker {
public Command command;
public Invoker(Command command){
this.command = command;
}
public void invokerExcute(){
command.excute();
}
}
/**
* 接受者
*
*/
public class Reciver {
public void reciverAction(){
System.out.println("接收者执行命令");
}
}
public class Main {
/**
* 命令模式:将命令封装成对象。当接受者不想引用请求者对象的引用或者无法引用,可以考虑命令模式。
*
*/
public static void main(String[] args) {
Reciver reciver = new Reciver();//接收者
JuTiCommand juTiCommand = new JuTiCommand(reciver);//具体命令
Invoker invoker = new Invoker(juTiCommand);//请求者,下命令者
invoker.invokerExcute();//下命令
}
}