
you are here
203
6
章
Command
パターン
6
章
Command
パターン
public class LightOnCommand implements Command {
Light light;
public LightOnCommand(Light light) {
this.light = light;
}
public void execute() {
light.on();
}
}
public interface Command {
public void execute();
}
最初のコマンドオブジェクト
そろそろ最初のコマンドオブジェクトを構築する頃合いではないでしょうか。話を
先に進め、リモコン用のコードを書いてみましょう。まだリモコン
API
の設計方法が
わかっていないので、ボトムアップでいくつかのものを構築してみると役立つでしょ
う。
Commandインタフェースを実装する
重要なことから取りかかりましょう。すべてのコマンドオブジェクトは同じイン
タフェースを実装し、このインタフェースは
1
つのメソッドからなります。食堂で
はこのメソッドを
orderUp()
と呼びましたが、通常は
execute()
という名前を使います。
以下が
Command
インタフェースです。
次に、照明を点けるためのコマンドを実装したいとしましょう。この例の
ベンダークラスを参照すると、
Light
クラスには
on()
と
off()
の
2
つのメソッド
があります。以下に、これをコマンドとして実装する方法を示します。 ...