以下のコードでは、月日(mtd)インジケータがtrueである場合、または前2営業日(btd)インジケータは真です。if/else文をパターンに置き換えてください
現在、別のインジケータが表示された場合、別のelse if文を含める必要があります。
私は、このコードの保守を容易にする方法はファクトリデザインパターンを使用することだと読んだことがあります。しかし、パターンを実装するためにどのようなステップを取るべきかわかりません。
public static string GetBusDate(bool mtdIndicator, bool prev2BusDtInd)
{
string busDate = Helper.PreviousBusinessDate;
if (mtdIndicator)
{
busDate = Helper.FOMBusDt;
}
else if (prev2BusDtInd)
{
busDate = Helper.Previous2BusinessDate;
}
return busDate;
}
_パターンを実装するためにどのようなステップを取るべきかわかりません._最初に、どの工場パターンが適切であるかを調べてください。 –
この時点では、ネストされた条件演算子を使用しています。私は特定のデザインパターンが必要であるとは確信していません。そして、工場パターンは関連性がないようです。 –
オブジェクトの存続期間中にフォーマットが変更されない場合、ファクトリ・パターンは機能します。そのような場合は、[戦略パターン](https://en.wikipedia.org/wiki/Strategy_pattern)を使用します。しかし、この単純なケースでは、 'if' /' else if'チェーンに固執しています –