2012-02-28 2 views
0

У меня есть 2 системы с 2 родственными, но немного разными объектными моделями (у одной модели есть класс для контрактных отношений между партнерами, другой - другое, но полученное понятие (и другой класс)). Мне нужно написать «mapper», который перемещает первую модель и создает экземпляры второй модели (есть контейнеры, классы ...). Есть ли инструмент/библиотека (желательно декларативный?), Который я мог бы использовать для генерации кода mapper?Преобразование объектной модели C++?

ответ

1

Не знаю, что я знаю. Обычно вы пишете небольшие оберточные модули, используя adapter pattern.

+0

Да. Я думал, что могу сэкономить много работы, имея декларативный инструмент, где я бы просто указал функцию преобразования, и он будет генерировать код для меня ... – Frank

1

Возможны более простые способы, но одним из вариантов является использование Boost :: Serialization, которое позволяет вам указать формат сериализации для каждого объекта очень компактно (если не строго декларативно).

Затем вы можете сериализовать один набор объектов в XML и использовать XSLT для преобразования их в формат другого набора объектов. Затем вы десериализуете другой набор объектов.

Если вы зададите сериализацию двух наборов объектов правильно, возможно, будет возможно пропустить все преобразование на шаг XML/XSLT.

+0

Звучит интересно. Я исследую это. Благодаря! – Frank

Смежные вопросы