设计模式:命令模式

设计模式:命令模式

模式描述

封装请求为一个命令对象,调用者传递命令,接收者执行命令,对命令进行抽象,实现请求者与实现者进行解耦。

为什么研究

使用命令模式,可以很好的进行系统解耦,使系统易于维护。

类图

设计模式:命令模式

说明

1、Invoker:命令调用者,用来给接收者传达命令
2、Receiver:命令接受者,用来执行命令操作
3、Command:抽象命令,对一组命令进行抽象
4、ConcreteCommand:具体的命令

实现

1、命令类:
public interface Command {
void doCommand();
}
2、具体命令类:
public class ConcreteCommand implements Command{
private Receiver receiver;
public ConcreteCommand(Receiver receiver){
this.receiver = receiver;br/>}
@Override
public void doCommand() {
receiver.doOper();
}
}
3、接收者:
public class Receiver {
public void doOper(){
System.out.println("执行命令执行了.......");
}
}
4、命令传达者:
public class Invoker {
private Command command;
public Invoker(){}
public void setCommand(Command command){
this.command = command;
}
public void invoke(){
command.doCommand();
}
}
5、客户端:
public class Client {
public static void main(String[] args) {
Receiver receiver = new Receiver();
Command command = new ConcreteCommand(receiver);
Invoker invoker = new Invoker();
invoker.setCommand(command);
invoker.invoke();
}
}

总结

1、命令者模式使系统松耦合,易于维护
2、当命令类太多时,就不适合用命令设计模式,可以考虑其他的解决方案

猜你喜欢

转载自blog.51cto.com/xxdeelon/2545891
今日推荐