다음은 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;
}
}
업데이트 : 내가 매개 변수 객체 안티 패턴이 아니라는 것을 알고있다. 내 경험에 의하면 매개 변수 개체 속성이 관련되어 있습니다. 이것은 내가 찾으려고하는 가능한 반 패턴입니다. 세 가지 속성을 모두 설정하는 것은 말이되지 않습니다.
매개 변수 클래스는 안티 패턴이 아닙니다. –
고맙습니다. 이미 알고 있습니다. 이 질문에 대한 혼란을 줄이기 위해 제 질문을 업데이트했습니다. –