以下の文と以下の質問は私自身の経験に基づいていますが、間違っているものがある場合は、自由に指摘できます。実際、私は本当にそれを感謝します。IoCコンテナがビジネスロジックシングルトンのシリアル化を処理するべきではありませんか?
ほとんどすべてのアプリケーションアーキテクチャでは、開発者はIoCコンテナで解決されたクラスインスタンス、つまりInSingletonScope()
(Ninjectから取得した用語ですが、ほとんどの場合、その意味を理解しています)を使用します。
たとえば、ICloudStorageProviderの実装には、必要なクラスインスタンスの例を挙げることができます。
ICloudStorageProvider実装インスタンスは、私が必要な時はいつでも今のところ、私はLocalStorageProvider.SaveLoginData(...)
のようなメソッドを呼び出してきた、ネストされたLoginDataクラス、あるいは単なるログインとパスワードフィールドの形でクラウドアカウントへのログインデータを含んでいる場合はそれを維持する。方法を知っていた別のクラスが、クラスインスタンスのデータを保存しました。
メカニズムがあれば、ローカルデータストアにこのような「シングルトン」オブジェクトのインスタンス全体をシリアル化してから、アプリケーションを再起動するか、またはアイデンティティが必要になる再度、上の例のログイン・データとともにそれを逆直列化するだけです。
そして、IoCコンテナはオブジェクトのインスタンシエーションを担当するものであるため、このような責任のためには完全に一致するようです。
IoCとシリアライザの両方として機能するそのようなメカニズムはありますか?