このパターンを初めて使用し、C#を使用しています。
これが正しい実装であることを確認したかっただけです。
Winformにボタンがあり、クリックすると、ドロップダウンボックスから選択して定義された特定の形式でデータが出力されます。これは将来変更される可能性があるため、戦略パターンを使用して変更内容をカプセル化します。
「DisplayData()」という単一のメソッドを公開するだけの「ストラテジーインターフェイス」があります。
ボタンをクリックすると、次のコードを使用します。
private void ConfirmButton_Click(object sender, EventArgs e)
{
IViewData viewData;
switch (outputMedia)
{
case "Excel":
viewData = new ExcelOutput(operation, study);
viewData.DisplayData();
break;
case "Spotfire":
viewData = new SpotfireOutput(operation, study);
viewData.DisplayData();
break;
}
}
これは、このパターンを使用するための許容可能な方法ですか?明らかに、追加の出力メディアが識別された場合は、新しいサブクラスを作成し、switchステートメントに追加の「case」を追加します。
ありがとう。