2011-04-26 2 views
0

이 매우 간단한 문제에 대한 의견이 있은 직후입니다.클래스 아키텍처 질문

말, 나는 Excel 스프레드 시트에서 많은 양의 데이터를 추출하는 DocumentParser 클래스가 있습니다. 캡쳐 된 데이터는 다른 개체로 모델링되며 'DataObject'라고 말하면됩니다. 문서 파서는 다음 작업을 수행하기 위해 다양한 범위의 데이터 세트로 전송할 준비가 된 이러한 개체의 모음을 작성합니다.

제 질문은 문서 파서와 동일한 클래스에 데이터 집합 채우기를 구현하거나 단일 책임 원칙을 준수한다면 새 클래스로 만들겠습니까? 별도의 클래스 인 경우 데이터 객체 컬렉션을 해당 클래스에 어떻게 노출하겠습니까? 단순히 매개 변수로 전달하면됩니까?

감사합니다.

답변

1

당신의 DocumentParser 클래스는 단지 하나의 책임을 가지고 있습니다 : 그것은 데이터를 파싱하고 그것으로부터 데이터 구조를 리턴하는 것입니다. 다른 클래스를 사용하여이 데이터 세트를 처리하십시오. 전체 XML 파싱 (문서 반환) 및이 문서를 다시 XML로 작성하는 경우와 유사합니다! DataObject의 컬렉션을 다른 클래스로 래핑하여 XML 문서 파싱이 작동하는 방식을 살펴본 다음 반복적으로 처리 할 수 ​​있도록 제안한 다음 간단한 캡슐화 된 데이터 컬렉션을 전달하는 것이 좋습니다.