圖二:
命令模式中:
Invoker爲命令的發起者。
command中封裝了命令相關的過程,以及相關的命令執行對象(Receiver)。
Receiver爲命令的接收者、執行者,在圖一爲Group。
策略模式相同不同:
相同:每個Invoker爲執行者,而command像是每一個策略。
不同:command中封裝了Receiver對象。而策略模式中,策略對象是自己執行整個過程
中介者模式相同不同:
相同:
1.有相同的Receivery對象,中介者中叫colleague對象。
中介者和命令對象都需要Receivery對象和colleague對象完成操作。
2.中介者模式中的每個函數(每個動作)相當於 命令模式中的一個command
不同:
中介者對象相當於包含了全部的命令。而命令模式中,每個命令都單獨綁定在一個Invoker(執行者)中