コース: C#:デザインパターン
無料トライアルでこのコースを視聴する
今すぐ登録して、25,300件以上登録されている、業界エキスパート指導のコースを受講しましょう。
Commandの概要を知る
Command パターンを利用すると、 命令をクラスとして 表現することができます。 Command パターンの Command とは、 命令という意味です。 Command パターンは、 振る舞いに関するパターンに 分類されます。 命令をクラスとして表現し、 その命令に 対応した処理を行います。 Command パターンには、 3つの役割を持った要素が 登場します。 ひとつは命令を表す Command、 そしてその Command を受け取る Receiver、 最後に Command を発行する Invoker です。 Command パターンの サンプルをクラス図で 表現した画面です。 まず、Command を表す抽象クラス、 AbstractCommand があります。 AbstractCommand を継承した CommandA、CommandB という 2つのクラスが存在します。 Command は、 receiverList という リストを持っており、 複数の Command を受け取る Receiver を格納することができます。 続いて、命令を発行する Invoker を表す SampleInvoker クラス、 こちらを確認していきましょう。 SampleInvoker クラスは、 複数のコマンドをリストとして 保持することができます。 Invoke メソッドで 登録された複数のコマンドを 実行します。 Undo コマンドで 最後に登録されたコマンドを 取り消すこともできます。 コマンドを受け取る Receiver は、 AbstractReceiver という 抽象クラスを継承して 作成します。 このクラスには、 EventHandler という メソッドが存在し、 コマンドが実行された際に、 このメソッドが呼びだされます。 これは、C# のイベントの仕組みに 非常に近い構成になっています。 このように Command パターンでは、 命令を表す Command、 そして命令を発行する Invoker、 命令を受け取り、処理を行う Receiver の 3つの役割があります。
エクササイズファイルを使って実践してみましょう。
インストラクターがコースで使用しているファイルはダウンロードできます。見て、聞いて、練習することで、理解度を深めることができます。