Show()
これは、パラメータークラスを使用して、メソッドに可能なパラメーターを含めるコードです。このFooOption
クラスの値はあまり関連していません。以下の実装を見ると、これを確認できShow()
ます。これが悪いコードであることは知っていますが、これを行うことに関連するアンチパターンはありますか?
class FooOptions {
public int? Id { get; set; }
public string BazContext { get; set; }
public int? BazId { get; set; }
}
class BarMgr {
public Bar Show(FooOptions options) {
if (options == null)
options = new FooOptions();
if (options.Id.HasValue)
return svc.GetBar(options.Id.Value);
if (!string.IsNullOrEmpty(options.BazContext) && options.BazId.HasValue)
return svc.GetBar(options.BazContext, options.BazId.Value);
return null;
}
}
更新:パラメータオブジェクトがアンチパターンではないことを知っています。私の経験では、パラメータオブジェクトのプロパティは関連しています。これは、私が見つけようとしている可能性のあるアンチパターンです。3つのプロパティすべてを設定しても意味がありません。