문제

다양한 파일 형식을 저장하고 로드할 때 사용하면 좋은 패턴이 있나요?

예를 들어 문서에 대한 클래스 계층 구조가 복잡하지만 몇 가지 다른 파일 형식을 지원하고 싶습니다.

전략 패턴에 대해 생각해 보았지만 개체를 ​​저장하고 로드하려면 개체의 모든 부분에 액세스해야 하기 때문에 확신이 없습니다.

도움이 되었습니까?

해결책

당신은 방문자 패턴, 방문자가 현재 처리 중인 노드에 따라 다양한 작업을 수행하여 계층 구조를 반복할 수 있습니다.

나쁜 소식:계층 구조의 최상위에 최소한 가상 메소드를 추가하고 일부 파생 클래스에서 이를 재정의해야 하며 방문자는 여전히 노드의 데이터에 액세스하지만 다른 방문자 구현이 작성할 수 있으므로 파일 형식을 분리해야 합니다. 다양한 방법으로 수집된 데이터.

다음 사항도 살펴보세요. 기념품 패턴 클래스 계층 구조 데이터를 숨기는 것이 필수입니다. 이 기사 도움이 될 수도 있습니다.

편집하다:원본 링크 기념품 패턴 기사 구글 캐시를 사용하여

다른 팁

Builder 패턴을 살펴보는 것이 좋습니다.GoF 97페이지..

(에 기초한 것)은 어떻습니까? 템플릿 메소드 패턴?

하나의 슈퍼클래스는 클래스 계층 구조를 분리하는 방법을 알고 있지만 실제로 유용한 작업을 수행하기 위해 하위 클래스에 의존합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top