9

プログラムが文字通りオブジェクトを逆シリアル化した場合(実際にはどのように問題はありませんが、BinaryFormatterが使用されたとだけ言ってください)。

このオブジェクトの依存関係を再注入するために使用するのに適した設計は何ですか?

これに共通のパターンはありますか?

コンテナ内でファクトリとして機能するには、Deserialize()メソッドをラップする必要があると思います。

ありがとう!

4

3 に答える 3

11

それ自体をシリアル化できない依存関係を持つオブジェクトをシリアル化しないでください。

代わりに、それを 2 つのクラスに分割します。シリアル化可能な部分を別のクラスに抽出します。

逆シリアル化した後、結果のオブジェクトを元のクラス (依存関係のあるクラス) のインスタンスに関連付けることができます。

于 2010-04-20T13:59:59.337 に答える
1

OnDeserialized属性を使用して、再注入を行うメソッドを指定します。

于 2010-04-20T13:52:53.160 に答える
0

Unity には、既存のオブジェクトの依存関係を満たすように要求できる" BuildUp " という概念があります。autofac (タグから使用していると思われる) に相当するものがあるかどうかはわかりません。

于 2010-04-20T13:56:59.747 に答える