2012-02-28 19 views
0

私は2つのシステムがありますが、2つの関連しているがわずかに異なるオブジェクトモデル(1つのモデルはパートナー間のコントラクト関係のクラスを持ち、もう1つは異なるが派生概念(および異なるクラス)を使用します)。最初のモデルをナビゲートし、2番目のモデルのインスタンスを生成する「マッパー」を記述する必要があります(コンテナ、クラスなどがあります)。マッパーコードを生成するために使用できるツール/ライブラリ(できれば宣言?)はありますか?C++オブジェクトモデル変換?

答えて

1

私が知っていることはありません。通常は、adapter patternを使用して小さなラッパーモジュールを作成します。

+0

はい。私は、変換関数を指定する宣言型ツールを使用することで多くの作業を省くことができると考えていました。それは私のコードを生成するでしょう... – Frank

1

シンプルな方法がありますが、Boost :: Serializationを使用する方法もあります。これにより、厳密には宣言的でなくても各オブジェクトの直列化形式を非常にコンパクトに指定できます。

次に、一連のオブジェクトをXMLにシリアル化し、XSLTを使用して他のオブジェクトセットの形式に変換できます。次に、他のオブジェクトのセットを逆シリアル化します。

2つのオブジェクトセットのシリアル化を適切に指定すると、変換全体をXML/XSLTステップにスキップすることができます。

+0

面白い音です。私はそれを調べるでしょう。ありがとう! – Frank

関連する問題