23种设计模式之命令模式

原创
2016/08/16 14:45
阅读数 150

命令模式包含三大内容,分别是接收者Receiver,命令Command和请求者Invoker

java语言描述

package one;

/**
 * 接收者
 * @author Administrator
 *
 */
public class Receiver {

	public void sneakAttack() {
		System.out.println("杀死敌人");
	}
}
package one;
/**
 * 命令接口
 * @author Administrator
 *
 */
public interface Command {
	void execute();
}

注意到这里的命令,其实是接口,也就是没有具体内容的,也就意味着我们要实现这个接口才行,当然了根据我们的业务需求去实现这个接口

package one;

/**
 * 实现我们的接口
 * @author Administrator
 *
 */
public class ConcreteCommand implements Command{

	private Receiver receiver;
	
	public ConcreteCommand(Receiver receiver) {
		this.receiver = receiver;
	}
	
	@Override
	public void execute() {
		receiver.sneakAttack();
	}

}
package one;

/**
 * 请求者
 * @author Administrator
 *
 */
public class Invoker {

	private Command command;

	public void setCommand(Command command) {
		this.command = command;
	}
	
	public void startExecuteCommand() {
		command.execute();
	}
	
}

OK,到这里这个设计模式就算是写完了,接下来就是使用这个设计模式

package one;

/**
 * 命令模式
 * @author Administrator
 *
 */
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.startExecuteCommand(); //执行命令
	}
}

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部