设计模式之用类来表现_Commond命令模式_命令也是类
前言
Github:https://github.com/HealerJean
1、Commond
命令模式
1.1、解释
命令模式,个人看来是没有使用过的,其实仔细看的话,也必将明确,就是说讲一个类作为命令去存储了,这个命令内部存储的就是去执行这个命令的人或者物,将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。
1.2、示例代码
司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行
2.1、命令接口Command
public interface Command {
void exe();
}
2.2、命令实现类,可以观察到内部有执行者
public class MyCommand implements Command {
private Receiver receiver;
public MyCommand(Receiver receiver) {
this.receiver = receiver;
}
@Override
public void exe() {
receiver.action();
}
}
2.3、执行者执行自己的内容
public class Receiver {
public void action(){
System.out.println("command received!");
}
}
2.4、发送命令的人
public class Invoker {
private Command command;
public Invoker(Command command) {
this.command = command;
}
public void action(String word){
command.exe(word);
}
}
2.5、测试
public class D22Main {
public static void main(String[] args) {
//命令的执行者
Receiver receiver = new Receiver();
//命令--被哪个执行者执行
Command cmd = new MyCommand(receiver);
//调用命令
Invoker invoker = new Invoker(cmd);
invoker.action("杀人");
}
}