私は考えていました-あらゆる種類のコンピューターゲーム、または一般的なプログラムを見てみましょう。(Chrome、Skype、Warcraft など) ユーザーが保存したいものを保存する必要があります。どうやってやっているの?単純なテキスト ファイルに保存しますか、それともデータベース システム (MySQL など) をパッケージ化しますか?
3 に答える
それは本当にあなたのニーズに依存します。いくつかのキーと値のペアのみを保存する必要がある場合、アプリケーションは単純なテキスト ファイル (*.ini ファイルなど) を使用できますが、これは誰でも読めるプレーン テキスト ファイルです。
アプリケーションはもちろん、MySql、MS SQL などのデータベースも使用できます。ただし、これらはサーバー上で別のサービスとして実行され、個別にインストールする必要があるため、アプリケーションを配布する場合はあまり便利ではありません。次に、SQL データベースでもある Sqlite のようなデータベースがありますが、すべてを 1 つのファイルに格納します。アプリケーションには、このファイルと対話する方法が必要です。
さらに別の方法は、保存したいデータを保持するオブジェクトをシリアライズ/デシリアライズすることです。
NoSQL データベースなど、データを保存する方法は他にもあります。私は個人的にまだそれらのいずれかを使用していませんが、ここにそれらのいくつかのリストがあります: http://nosql-database.org/
XML も使用できます。
アプリケーションがデータを保存する方法は無限にあります
プログラムがデータを保存する方法には文字通り終わりがありません。大戸:
- 自家製のアーカイブ形式: すべてのゲーム会社が独自の形式をいくつか持っているようです (Blizzard MoPaQ、
- XML ファイル: 通常、単純な構成に使用されます (Apple の plist ファイル、Windows アプリケーションの構成、Skype のユーザー設定など)。
- SQLite データベース: 通常、大量の個人データに使用されます (Firefox: ブックマーク、履歴など; iOS 個人情報データベースなど)。
- 他の誰かのデータベース (基本的にすべての Web アプリ) の「クラウド内」
- プレーン テキストまたは単純なテキスト形式 (Windows .ini/.inf、Java MANIFEST.MF、YAML など)
- ...
1 つのプログラムが、格納する内容に応じて複数のメソッドを使用する場合があります。統一されたソリューションはありません。また、すべてのシステムにはトレードオフがあるため、すべてのタスクに適した 1 つのソリューションはありません (人間が読みやすいかどうかとパッキング効率、ランダム アクセスとシーケンシャル アーカイブなど)。
多くのプログラムは Sqlite を使用してデータを保存します ( http://www.sqlite.org )。Sqlite は、非常にコンパクトなクロス プラットフォームの SQL データベースです。多くのプログラムはテキスト ファイルを使用します。