0

これは、クロスプラットフォーム アプリはどこにデータを保持する必要がありますか?とよく似ています。、しかしそれを少し拡張します。

データの親ディレクトリがどこにあるべきかについては、いくつかの良いアドバイスがありますが、特定のアプリのディレクトリがどうあるべきかについてはあまりありません。

たとえば、My Corp によって作成され、My Brand 内に My App というクロスプラットフォーム アプリケーションがあるとします。My Brand には、おそらく独自のデータを必要とする他の製品があり、My Corp にも他のブランドがあるとします。そのデータおよび/または構成は、Windows でどこに移動する必要がありますか? Unixでは?マックOS9? マックOSX? 他の?

たとえば、Windows では、データは「...\Application Data\My Corp\My Brand\My App」に入りますが、Mac OS X では、データは ~/Library/Application Support/My Corp/My Brand に入ります。 /My App" で、Unix では "~/.mycorp/mybrand/myapp" になりますか? (ベース ディレクトリが異なっていても、他のプラットフォームでは unix のマングリングが使用されると思います。)

本当の慣習がない場合、これは合理的に思えますか? Mac OS9 について何か提案はありますか?

4

1 に答える 1

1

反射を開始するだけです:

次の点を明確に区別する必要があります。

  • アプリケーション状態データ
  • 設定
  • データ (複数のアプリケーションで共通の場合があります)

後者は、最終的にはデータベースになるか、1 つまたは複数のアプリケーションによって管理されるか、通信バスによってカプセル化されて、他のすべてのアプリケーションがそれらのデータにアクセスするためにそれらの間で対話することを避けることができます。

アプリケーションの状態を表すデータは、「クロスプラットフォーム アプリがデータを保持する場所は? 」という質問で述べたように、「アプリケーション データ」に入れることができます。

しかし、設定...アプリケーションをいくつかの「構成」で起動する必要があるかどうかによって異なります。

  • プラットフォームごとに 1 つ: 「アプリケーション データ」に保存するために、開発段階でそれらを管理し、リリース段階でそのファイルをパッケージ化する必要がある場合
  • たとえば異なるヒープ サイズや、同じアプリで実行されるさまざまな操作を表すさまざまな設定などですそして、それは設定ファイルの急増につながります ('Application Data' のさまざまなサブディレクトリにも保存されます) 。これらのデータを設定プロバイダー
    に抽象化するというアイデアは良い考えです。

実際、設定には非常に多くの異なる構成があり、それらを別の運用マシンのデータベースに保存しています。そうすれば、すべてのアプリがそれらにアクセスできますが、さらに重要なことは、変更ごとにアプリケーションを停止/再起動したり、各展開プラットフォームに移動したりすることなく、リアルタイムでそれらにアクセスして変更できることです。

于 2008-11-02T09:49:27.397 に答える