私のプロセスでは、残りのプロセスで使用するオブジェクトを取得するプラグインをロードします。
このクラスは から継承してMyInterface
いるため、シリアライズは大したことではありません。
その中にメソッドを実装するだけvirtual const unsigned char* Serialize()
です。私が理解できないのは、逆シリアル化方法が静的であると想定されているため、逆シリアル化する方法です。同じことはできません。
プラグイン DLL から Deserialization メソッドを公開する必要がありますか、それとももっと良い方法がありますか?
質問する
71 次
1 に答える
0
Deserialize
DLL のエクスポートで関数を公開する必要があるかどうかは、アプリケーションの設計によって異なります。クライアントがDeserialize
関数を呼び出す必要がある場合は、公開する必要があります。
それがどのように機能するかについては、 Factory MethodDeserialize
と同じ基本アーキテクチャを持つ必要があります。シリアル化されたデータは、オブジェクト内のすべての機能に加えて、それが表すオブジェクトのタイプを示す必要があります。それ以外の場合、呼び出す人は、逆シリアル化するオブジェクトの種類を知る必要がありますが、シナリオではこれは不可能または望ましくないようです。オブジェクト型をシリアル化されたデータの一部として保存すると、メソッドでそれを使用して、正しい型のオブジェクトを構築できます。Deserialize
switch
Deserialize
于 2012-06-04T19:52:35.790 に答える