設計模式之---命令模式

定義:將一個請求封裝成一個對象,從而讓你使用不同的請求把客戶端參數化,對請求排隊或者記錄請求日誌,可

以提供命令的撤銷和恢復功能。


package command;

public class Receiver {
	public void doSomething(){  
        System.out.println("接收者執行業務邏輯處理");  
    }  
}
package command;

public interface Command {
	void execute();
}
package command;

public class ConcreteCommand implements Command {

	Receiver receiver;
	public ConcreteCommand(Receiver receiver) {
		this.receiver=receiver;
	}
	@Override
	public void execute() {
		// TODO Auto-generated method stub
		receiver.doSomething();
	}

}
package command;

public class Invoker {
	private Command command;  
    public void setCommand(Command command) {  
        this.command = command;  
    }  
    public void action(){  
        this.command.execute();  
    }  
}
package command;

public class Client {  
    public static void main(String[] args){  
        Receiver receiver = new Receiver();  
        Command command = new ConcreteCommand(receiver);  
        //客戶端直接執行具體命令方式 
        command.execute();  
  
        //客戶端通過調用者來執行命令  
        Invoker invoker = new Invoker();  
        invoker.setCommand(command);  
        invoker.action();  
    }  
}  
命令模式優缺點

命令模式適用場景

該不該引入設計模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章