1

私はオブジェクトのシリアル化と関連する主題について検索して読んでいます。しかし、私はユースケースを考えることはできません。

または、それを使用しなければならない動機や状況は何ですか?

フォローアップの質問: シリアル化がオブジェクトの状態を保存することである場合、なぜ Java のオブジェクトのシリアル化が必要なのですか? オブジェクトの構成をテキスト ファイルに保存して、代わりにネットワーク経由で送信することはできませんか?

4

3 に答える 3

2

シリアライゼーションは非常に強力で、他のユーザーがすでに言及した以外にも複数の用途があります。

オブジェクトをディープ コピーしたい場合がありますが、リフレクションの悪夢に陥ることなくそれを実行する簡単な方法は、オブジェクトをシリアル化することです。.NET (特に C#) でオブジェクトのディープ コピーを行う方法

もう 1 つは、データの検証です。通常、ネットワーク経由でオブジェクトを転送する場合は、メッセージ構造を定義する XML スキーマを作成し、そのスキーマからクラスを生成して、転送可能なオブジェクトに変換します。シリアル化するオブジェクトを XML などに送信する前に、オブジェクトの状態を保持してから、そのデータ ストリームを送信し、受信した XML メッセージをスキーマに対して検証して、事前定義されたメッセージに準拠していることを確認します。構造化してから、必要なオブジェクト指向の操作を行うためにオブジェクトに逆シリアル化します。

于 2013-08-02T19:29:55.463 に答える
1

MSDN を確認してください: http://msdn.microsoft.com/en-us/library/vstudio/ms233843.aspx

シリアル化により、開発者はオブジェクトの状態を保存し、必要に応じて再作成して、オブジェクトのストレージとデータ交換を提供できます。シリアライゼーションを通じて、開発者は、Web サービスを使用してリモート アプリケーションにオブジェクトを送信する、あるドメインから別のドメインにオブジェクトを渡す、XML 文字列としてファイアウォールを介してオブジェクトを渡す、またはセキュリティやユーザー固有の状態を維持するなどのアクションを実行できます。アプリケーション間の情報。

于 2013-08-02T19:17:59.783 に答える
1

オブジェクトの状態を保存する必要がある場合があります。この記事は、トピックをかなりよくカバーしています。シリアル化する理由に関する記事からの引用:

シリアライゼーションは以下を提供します。

  • オブジェクトを永続化する方法。たとえば、オブジェクトのプロパティをディスク上のファイルに書き込んだり、データベースに保存したりします。
  • SOAP などのリモート プロシージャ コールのメソッド。
  • 特に COM、CORBA などのソフトウェア コンポーネントで、オブジェクトを配布する方法。
  • 時変データの変化を検出する方法。
于 2013-08-02T19:19:19.617 に答える