1

私は長い間、ドメイン モデル自体が XML へのシリアル化を担当するべきではないと考えてきました。私は過去に IXmlSerializable インターフェイスを使用して、オブジェクトのシリアライズ方法を制御しましたが、理想的には、シリアライゼーションの要点をオブジェクトの外部に配置したいと考えています。

しかし、これを実際にクリーンな方法で実装することはできませんでした。これを実現するために見落としていたパターンがあるかどうか疑問に思っていました。基本的には、オブジェクト モデルにそれを実行させ、XML シリアライゼーション (またはその他のシリアライゼーション) を忘れさせてから、オブジェクトをスパイダーしてシリアライズするサービスに渡したいと考えています。

拡張メソッドでこれを試してみましたが、型オブジェクトのコレクションをシリアル化したい場合は不十分です。オブジェクトラッパーとシリアル化するDTOを使用してそれを行うことを見てきましたが、別のオブジェクトのセットを維持し、シリアル化するときにこれらのオブジェクトを作成する必要があるというオーバーヘッドがあり、コレクションがあると再び混乱する可能性があります型オブジェクト。

他の唯一のことはリフレクションを使用することですが、処理のオーバーヘッドが心配です。

私が求めていることを行うための健全な方法はありますか、それとも弾丸を噛んでオブジェクトをxmlに認識させる必要がありますか?

4

1 に答える 1