BT

.NETにおけるコマンドパターン

| 作者: Roopesh Shenoy フォローする 0 人のフォロワー , 翻訳者 福田 寅成 フォローする 0 人のフォロワー 投稿日 2012年5月5日. 推定読書時間: 1 分 |

原文(投稿日:2012/04/16)へのリンク

Command Patternにおいて、オブジェクトは後々メソッドを実行するために必要なメソッド名やメソッドを持つオブジェクト、パラメータの値などの情報すべてを表し、それらをカプセル化するために用いられる。記事連載「The Command Pattern In .NET」の最初のパートでは、Eric Vogel氏がWPFアプリケーションの場合のICommandインターフェースを用いたウォークスルーを行っている。

コマンドは普通は操作であり、コマンドオブジェクトはその操作をどのように行えば良いかを知っている。コマンドオブジェクト自身は共通インターフェースを実装している。呼び出し元はメソッドを呼び出すためにはインターフェースを呼び出せば良く、実装の詳細を知っている必要は無い。 これにより操作を呼び出すオブジェクトと操作をどのように実行すれば良いかを知っているオブジェクトを分離し、関連性を明確に分ける事が出来るようになる。

SilverlightやWPFアプリケーションにおいてICommandを用いる主な目的は、XAMLビューのコードビハインドからユーザーインタラクションコードが無い綺麗な状態を保つことである。記事「Using ICommand In Silverlight」はSilverlightアプリケーションでこれを実装する方法を理解するのに良い読み物である。コマンドオブジェクトは後々のメソッド実行のためにキューイングされるため、このパターンはWPF と Silverlight 向けの Undo-Redo フレームワークを実装するのにも非常に便利である。

ICommand自体はコマンドパターンを実装する必要が無い事に注意する必要がある。コマンドが何であるかを定義する独自のインターフェースや抽象クラスを作成する事が出来る。 これらの サンプル はICommandインターフェースを用いずに、ただし同様の基本的なコンセプトを用いてどのようにコマンドパターンを実行すれば良いかを示している。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT