Java设计模式:命令模式

版权声明:本文为Zhang Phil原创文章,请不要转载! https://blog.csdn.net/zhangphil/article/details/88740160

以司令发布命令,士兵执行命令为例。

//执行命令的士兵。
public class Solider {
	// 执行的动作。
	public void action() {
		System.out.println("Solider action!");
	}
}
//命令。
public interface Command {
	// 执行。
	void exe();
}

public class MyCommand implements Command {
	private Solider solider;

	public MyCommand(Solider solider) {
		this.solider = solider;
	}

	@Override
	public void exe() {
		solider.action();
	}
}

 

//司令:命令的发布者。
public class Commander {
	private Command command;

	public Commander(Command command) {
		this.command = command;
	}

	// 发布命令。
	public void order() {
		command.exe();
	}
}

 

public class Test {
	public static void main(String[] args) {
		try {
			Test test = new Test();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public Test() {
		Solider solider = new Solider();
		
		Command cmd = new MyCommand(solider);
		
		Commander commander = new Commander(cmd);
		commander.order();
	}
}

输出:

Solider action!

 

展开阅读全文

没有更多推荐了,返回首页