아래 코드에서 월간 날짜 (mtd) 표시기가 true인지 또는 이전 2 영업일 (btd)이 지난 경우에 따라 비즈니스 날짜가 결정되어야합니다. 표시기가 참입니다.if/else 문을 패턴으로 대체하십시오.
현재 다른 표시기가 있으면 if else 문을 추가해야합니다.
이 코드를 더 쉽게 유지할 수있는 방법은 팩토리 디자인 패턴을 사용하는 것입니다. 그러나 패턴을 구현하기 위해 취해야 할 단계는 무엇인지 모르겠습니다.
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' 체인을 고수 할 것입니다. –