デスクトップアプリケーションについて一般的な質問があります。友人と私は、アプリケーションの実行中にアプリケーションデータを管理する方法について話し合っていました。私たちは2つの方法について議論していて、結論を出すことができませんでした。これらの2つの方法は次のとおりです。
- 必要なときにデータを読み取り、変更されたらすぐにディスクにデータを書き込みます。
- アプリケーションの起動時にすべてのアプリケーションデータをメモリにロードし、メモリ内で変更し、最後にアプリケーションの終了時にディスクに書き込みます。
私が理解している限り、主な議論は次のとおりです。
- #2は、すべてのデータがメモリ内にあり、すばやくアクセスできるため、より高速です。
- #2は、最小限のファイルIOを使用するため、より優れています。これは、私の知る限り、低速でコストのかかる操作であると考えられています。
- #1の方が優れています。これは、すべてのデータが常にディスクと同期されているため、プログラムの異常終了時にデータが失われる可能性が限られているためです。
- アプリケーションは多くのメモリを消費しないため、#1の方が優れています。
編集:私たちが話し合っていた特定のアプリケーションは、管理者、教師、コース、学生の4つの主要な側面を含むコース管理システムでした。上記のすべてのデータは、ディスク上のファイルに保存されました。基本的に、アプリケーションは主にデータ駆動型でした。