【設計模式 - 14】之命令模式(Command)

1      模式簡介

命令模式的定義:

命令模式將命令封裝成對象,從而使調用一個命令變爲調用一個對象的指定方法。

 

命令模式的優點:

1)        降低了系統耦合度;

2)        新的命令可以很容易的添加到系統中去。

 

命令模式的缺點:

會導致系統中有過多的具體命令類。

 

2      案例

在一個系統中有三種命令:點擊按鈕、加載圖片和訪問網絡。

 

我們將三種命令分別封裝成三個具體的命令類,通過調用不同的具體命令類來執行不同的命令。


具體代碼如下:

命令接口Command中的代碼如下:

public interface Command {
	void execute();
}
點擊按鈕的命令ButtonCommand中的代碼如下:

public class ButtonCommand implements Command {

	@Override
	public void execute() {
		System.out.println("點擊了Button按鈕!");
	}
}
訪問網絡和加載圖片的命令與點擊按鈕的命令大同小異,可以參考博客最後的GitHub中的代碼。

測試類Test中的代碼:

public class Test {
	public static void main(String[] args) {
		List<Command> commands = new ArrayList<>();
		commands.add(new ButtonCommand());
		commands.add(new ImageCommand());
		commands.add(new HttpCommand());

		for (Command c : commands) {
			c.execute();
		}
	}
}
運行結果如下圖所示:



最後貼出命令模式的GitHub代碼地址:【GitHub - Command】

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