天天看點

行為型模式-----指令模式(Command)

1、指令模式

               目的是達到指令的發出者和執行者之間的解耦,實作請求和執行的分開。

               如:司令員下令讓士兵做事。從整個事情的角度來考慮,司令員的作用是:發出密碼。

                        然後密碼經過傳遞到達士兵耳朵裡。最後士兵對指令進行執行。

                   這個過程的司令員、指令、士兵三者的解耦,任何一方都不用去依賴其他人,隻需要做好自己的事情就行。

                         (司令員隻管發令;指令隻管傳遞;士兵隻管執行)

行為型模式-----指令模式(Command)

  執行個體一

// 指令的抽象
public interface Command {

	public boolean exe();
}

// 指令釋出者
public class Invoker {

	private Command command;

	public Invoker(final Command command) {
		this.command = command;
	}

	public void action() {
		System.out.println(" ~~  釋出指令,同時擷取該指令的執行情況 ~~~  ");
		final boolean result = this.command.exe();
		System.out.println(" ~~  是否執行完畢: " + result);
	}
}

// 指令執行着
public class Revicer {

	public boolean action() {
		System.out.println(" ~~ 執行指令 ~~~~");
		return true;
	}
}

//具體指令
public class MyCommand implements Command {

	private Revicer revicer;

	public MyCommand(final Revicer revicer) {
		this.revicer = revicer;
	}

	@Override
	public boolean exe() {
		this.revicer.action();
		return true;
	}
}
           

    模拟調用

public static void main(final String[] args) {
		final Command command = new MyCommand(new Revicer());
		final Invoker in = new Invoker(command);
		in.action();
	}
           

繼續閱讀