2009-05-14 13 views
0

私はちょうどC++を学んでいます。ちょうどQTを使いこなし始めました。業界標準はありますか?彼らはXMLファイル、テキストファイル、SQLiteに格納しますか?会計ソフトウェアが保存する必要があるとする機密データはどうですか?私はちょうどこれのベストプラクティスが何であるか学ぶことに興味があります。C++でデータを保存する最も良い方法

おかげ

答えて

0

は、彼らはXMLファイル、テキストファイル、SQLiteの中でそれを保存しますか?

はい。
また、バイナリファイルとリレーショナルデータベース。
他に何か?

+0

回答するときにはまだいいです。 – Joe

7

この質問はあまりにも広すぎます。唯一の答えは、特定のアプリケーションとデータの性質と、C++で記述されているかどうかに依存します。

たとえば、ユーザーが設定できるアプリケーション設定はテキストファイルに格納されることがよくありますが、Windowsでは通常はレジストリに格納されます。会計アプリケーションは、通常、ある種のデータベースにデータを保持します。

3

アプリケーションデータを格納する多くの方法があります(シリアル化と呼ぶ)。

個人的には、大きなデータセットの場合、オープンフォーマットを使用するとデバッグがはるかに簡単になります。たとえば、XMLを使用する場合は、データを開いた形式で保存して、ファイルの破損の問題が発生した場合(クライアントが何らかの理由でファイルを開くことができないなど)、見つけやすくなります。機密データがある場合は、鍵暗号化を使用してファイルに書き込む前に、常に機密データを暗号化することができます。たとえば、マイクロソフトは独自の形式を使用して、オフィスのドキュメントでxmlを開くことをやめました。彼らは。*拡張子(.docx、.xlsxなど)を使用します。これは実際にはxmlファイルを含む圧縮されたフォルダです。

現在、ほとんどのスタンドアロンアプリケーションでは、バイナリシリアル化を使用することが業界標準です。おそらくそれは、使用しているアプリケーションフレームワーク(古くなっているMFCなど)のためです。近代的なアプリケーションフレームワークのほとんどのシリアライゼーション手法を見てみると、XMLのシリアライゼーションが非常にうまくサポートされています。

1

複雑な構造化データを使用する場合は、SQLite、Metakit、Berkeley DBファイルなどの組み込みデータベースエンジンを使用することを検討してください。 XMLファイルも仕事をして人間が読める/書けるようになります。環境設定では、INIファイルやWindowsレジストリなどを使用できます。要するに、それは本当にあなたの使用パターンに依存します。

2

まず、保存したいデータの種類を明確にする必要があります。

一部のアプリケーション設定を保存する場合は、QSettingsを使用して設定をINIファイルまたはレジストリに保存します。

アプリケーションの設定だけではない場合は、XMLファイルまたはSQLに移動してください。

1

これは一般的な質問です。多くのことと同様、正しい答えはアプリケーションとそのニーズによって異なります。

  • ほとんどのデスクトップアプリケーションは、エンドユーザーのデータをファイルに保存します(WordとExcelと考える)。形式はあなた、XML、バイナリなどに依存します。そして、オブジェクトを直列化/逆シリアル化してファイルにすることができれば、おそらくあなたの人生は楽になります。
  • 構成ファイルや一時データなどの内部アプリケーションデータは、XMLファイルやSQLiteなどの軽量ローカルデータベースに保存される場合があります
  • 企業内で使用される「エンタープライズ」アプリケーションでは、 SQL ServerやOracleなどの-endデータベース。これは、すべての企業のデータが単一の中央ロケーションに保存されるためです。レポートなどのために利用できます。

ビジネスソフトウェアの場合、ビジネスドメインとエンドユーザーを考慮する必要があります。たとえば、ソフトウェアを大企業に販売する場合、おそらくデータを保存するために何らかの形式のデータベースを使用します。さもなければバイナリファイルはうまくいくでしょう、もしあなたが本当にうっ血だとしたら暗号化の何らかの形でおそらく。

1

「最良の方法」と言えば、「良い」という意味を定義する必要があります。

さまざまな要件が互いに競合しているため、すべてを同時に満たすことができないという問題があります。

たとえば、「データへの同時複数ユーザーアクセス」の要件がある場合、データベースエンジンの使用が推奨されますが、「可能な限り小さく」および「サードパーティ製ソフトウェアへの依存を最小限に抑える」ことが示唆されています。

要件が「ポータブルデータ形式」の場合、これはXMLを示しますが、これは「コンパクト」および「インデックス付き」と競合します。

関連する問題