-4

これは、そこにいるほとんどの人にとっては簡単な質問かもしれませんが、私はそれに行き詰まっています. 私が疑問に思っていたのは、ほとんどの銀行ソフトウェアまたは商用ソフトウェアは、1 日の終わりに閉じて、次の日に再び開いたときに、どのようにそれらのプログラムが前日のすべてを記憶しているのかということです。ご指導いただきありがとうございます。

4

1 に答える 1

2

これは黒魔術ではありません。

答えは、データを保存することです。これを行うには、データベースに入れるか、データ ファイルを書き込みます。

秘訣は、保存したと思っていた状態を復元したことを簡単に保証できるような方法でプログラムを作成することです。

一般的なアプローチは、シリアライゼーションを使用することです。これは、巨大なデータ構造を取得し、それとそれに含まれるオブジェクトに対して「保存」関数を再帰的に呼び出すことができることを意味します。オブジェクトの継承とポリモーフィズムを利用している場合、これは非常に直感的です。もちろん、逆の処理を行う「Load」関数も作成します。

読み戻せるようにデータを書きます。たとえば、文字列を書きたい場合は、最初にその長さを書き、次にその文字を書きます。そうすれば、それを読むと、割り当てるバイト数がわかります。

バイナリ ファイル形式を作成する場合、上記のアプローチは非常に標準的です。実際、これは AVI などのチャンクベースのフォーマットの背後にある哲学です。

テキストベースの場合、XML や JSON などの一般的な形式でデータをシリアル化することを選択できます。しかし、あなたはあなたの想像力によってのみ制限されています。

于 2013-01-29T14:14:33.483 に答える