パターンをC#で実装する方法を紹介したいと思います。見るこのパターンは「利用側の実装(メソッド操作)を維持しながら」「複数の操作を切り替えることができる」のが特徴です。この特性を持たせるためにC#では2種類の方法を用いることができます。パターンの実装まずはオーソドックスなインターフェースを継承する方法です。クラス図にすると以下のようになります。IHogeを継承した複数のクラスはそれぞれ動作が異なる実装を持ちます。上記コードが最も端的に利用されているケースは以下のコード例です。IHogeのインスタンスがDefaultHoge、HogeSampleの場合でも同じように利用できます。逆に言うと、今パターンの時は異なる使い方をさせてはダメという事になります。複数の操作をインターフェースに記述することもできるので、複雑な操作があっても同じ実装で利用者が異なる処理を実行することができます。パターンを使用したりするケースが多いです。パターンの実装2つ目の方法はC#固有機能であるデリゲート(古来関数ポインタと呼ばれていたもの)による実装です。デリゲートはシグネチャーさえ一致していればどんな関数でも運搬できる特徴を持っているのでこれを利用します。この場合処理が1つしか持てないので複雑なことには向きませんがメソッド単位などの比較的細かい処理でバリエーションをつける時に利用できます。実装方法ですが、まず、以下のようにデリゲートを宣言します。引数にintを持ち、戻り値にstringを返すデリゲートそのあとに以下のように「intを引数に取り戻り値にstringを返す処理を返す」複数の操作を取得するメソッドを作成します。mode={mode}");}そうすると利用者側でシグネチャを変更することなく複数の操作を同じ実装で実行することができます。Mode=1のように受け取るデリゲートで表示が変わる}Strategyパターンの説明は以上です。»Profile受託ソフト会社員でWin系業務屋。趣味でCocos2d-x/C++を触っています。etc...主に受託・開発ネタ、Windowsの事、Srellaris、ゲーム制作の進捗の事を喋ります。クラスとシングルトン考察c#でProxyパターン再考C#でProxyパターンを実装するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。