현재 프로젝트의 대규모 체크 아웃 응용 프로그램을 작성 중입니다. 이 체크 아웃은 사용자의 관리자 수준, 체크 아웃 방법 및 체크 아웃 할 항목 유형에 따라 많은 경우가 있으므로 프로세스가 컨텍스트 클래스 집합을 통해 .aspx 페이지에서 추상화됩니다.어떤 하위 클래스가 필요한지 결정하는 가장 좋은 방법
이 클래스들은 모두 하나의 클래스 인 CheckoutContext에서 하위 클래스로 분류되며 사용되는 클래스 유형은 열거 형을 통해 표시됩니다.
내가 사용하는 서브 클래스를 선택하는 데 사용할 수있는 형식 정의를 유사한 뭔가가 있나요, 아니면 단순히과 같이, 관련 클래스를 반환하는 방법이 있어야합니다CheckoutContext chooseSubclass(CheckoutCase c)
{
CheckoutContext output;
switch (c):
{
case CheckoutCase.SingleItemNew:
output = new SingleItemNew;
break;
case . . .
return output;
}
}
얼마나 역동적입니까? 즉, 새 하위 클래스를 얼마나 자주 추가합니까? 응용 프로그램을 다시 컴파일하지 않고도 구성해야합니까? 이 하위 클래스를 만드는 여러 개발자가 있습니까? 이러한 유형의 요구 사항을 여러 개 처리하는 경우보다 강력한 솔루션이 필요할 수 있습니다. 그렇지 않다면 스위치를 붙이십시오. – Josh
체크 아웃 프로세스가 너무 복잡하여 섹션별로 처리 할 수 없다는 점에서 사용할 수있는 필드를 처리하기 위해 페이지 당 약 15 개의 메소드가 필요합니다. 따라서 우리는 프로세스를 클래스로 분리합니다. 나중에 더 많은 기능이 구현 될 가능성이 매우 높기 때문에 체크 아웃 프로세스를 추가하기위한 노력이 거의 필요하지 않습니다. –