2013-05-23 2 views
0

내 프로그램에는 보고서의 구성 정보를 저장하는 데 사용되는 ReportConfiguration 클래스가 있습니다.구성 설정을 처리 할 때 중첩 클래스를 사용하거나 사용하지 않으려면

public abstract class ReportConfiguration{ 
    private class AssessmentTypeConfiguration{ 
    } 
} 

public class MyConfiguration : ReportConfigration{} 

본질적으로, 반면 : 논리적으로, 같은 그 즉 섹션의 특정 유형 등 친구가 내가 중첩 된 클래스를 이러한 섹션을 가지고 그들을 만들 것을 제안 표시되는 방식으로 구성 할 필요가 많은 지역이있다 필자는 이들을 사용하려고합니다. 일부 구성 요소를 확장하고자하는 다른 개발자에게이 구성 클래스를 노출하거나 구성을 수정해야하는 몇 가지 도구를 작성합니다. 따라서 구성 클래스를 확장 할 수 있기를 원하지만 특정 구성 옵션이있을 수 있습니다. 일부 구성 옵션에는 접촉하지 않아도되고 논리적으로는 중첩 된 것처럼 보이는 구성 옵션이있을 수 있습니다.

질문 : 별도의 클래스를 사용하거나 모든 구성 옵션에 대해 많은 속성을 가진 하나의 매우 큰 클래스를 만들 필요가 있습니까? 차라리 몇 가지 이유에 대해 하나 개의 거대한 클래스보다 별도의 수업을하는 것이 좋습니다

+0

application.config 구성을 사용 하시겠습니까? * AssessmentTypeConfiguration * –

+0

의 기본 유형을 볼 수 없습니다.이 클래스는 맞춤 클래스입니다. 내 보고서에는 다양한 유형의 평가가 있습니다. – appsecguy

답변

0

:

  • 이 함께 정보와 같은 그룹에 도움이 당신이 직렬화하려는 경우에 대한
  • 을 추론하기 위하여 쉽게 있도록 및/구성 파일 (또는 파일)에서 포함 된 정보를 읽으면 더 작은 클래스에서 더 쉽고 유연하게 수행 할 수 있습니다.
  • 정적이 아닌 클래스를 사용하고 있거나 원하는 경우, 주위에 인스턴스를 전달하려고하면 거대한 객체 위트보다는 제한된 정보를 전달하는 것이 더 합리적입니다. h 태양 아래의 모든 것

명확하게 분리 된 구성 영역이 있다고해서 분명히 구분 된 클래스가 있어야합니다. 그렇지 않으면 단일 클래스가 너무 많이 알 수도 있고 classes should only be responsible for one thing입니다.

관련 문제