設計模式筆記—Command Pattern (舊)

本篇已經不會再更新了……

本文作為自己的筆記,是依照自身的理解所編寫的,不是很嚴謹
如果有什麼錯誤的地方,可以在下方的 gitalk 留言通知我

Command Pattern,或者說是命令模式,他是透過簡單的方式去執行一連串的動作

Command Pattern 大致上會長的像這樣:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// ICommand.cs
public interface ICommand {
void Execute();
}

// PrintMessageCommand.cs
public class PrintMessageCommand : ICommand {
private string message;

public PrintMessageCommand(string message) {
this.message = message;
}

public void Execute() {
Console.WriteLine("[Message] {0}", this.message);
}
}

PrintMessageCommand實作ICommand,並且執行印出訊息的動作

使用時只要這樣寫就好

1
2
ICommand command = new PrintMessageCommand("Hello World!");
command.Execute();

Command Pattern 會把執行的細節都包起來,因此外部的程式並不會知道裡面的細節

由於實作ICommand介面,因此可以使用ICommand串列串起一連串不同的指令,使用起來還挺方便的