2012-02-28 5 views
0

두 개의 시스템이 있지만 관련이 있지만 약간 다른 오브젝트 모델이 있습니다. 하나의 모델에는 파트너 간의 계약 관계 클래스가 있고 다른 모델에는 다른 개념이 있지만 파생 개념 (및 다른 클래스)이 사용됩니다. 첫 번째 모델을 탐색하고 두 번째 모델의 인스턴스를 생성하는 "매퍼 (mapper)"를 작성해야합니다 (컨테이너, 클래스 ...). 매퍼 (mapper) 코드를 생성하는 데 사용할 수있는 도구/라이브러리 (가급적 선언적입니까?)가 있습니까?C++ 개체 모델 변환?

답변

1

내가 아는 사람이 전혀 없습니다. 일반적으로 adapter pattern을 사용하여 작은 래퍼 모듈을 작성합니다.

+0

예. 나는 단지 변환 함수를 지정하고 선언 코드 도구를 사용하여 많은 작업을 절약 할 수 있다고 생각하고있었습니다. – Frank

1

더 간단한 방법이있을 수 있지만 Boost :: Serialization을 사용하는 것이 하나의 옵션입니다.이 옵션을 사용하면 엄격하게 선언적으로는 아니지만 각 개체의 직렬화 형식을 매우 조밀하게 지정할 수 있습니다.

그런 다음 한 세트의 개체를 XML로 serialize하고 XSLT를 사용하여 다른 개체 집합의 형식으로 변환 할 수 있습니다. 그런 다음 다른 객체 집합을 비 직렬화합니다.

두 개체 집합의 직렬화를 올바르게 지정하면 전체 변환을 XML/XSLT 단계로 건너 뛸 수 있습니다.

+0

재미있는 소리입니다. 나는 그것을 조사 할 것이다. 감사! – Frank