每个平台上的“数据目录”的概念

时间:2008-11-02 05:32:09

标签: cross-platform

这与Where should cross-platform apps keep their data?非常相似,但稍微扩展一下。

对于数据的父目录应该在哪里,有一些很好的建议,但对于给定应用程序的目录应该是什么没有那么多。

例如,假设我们有一个跨平台的应用程序,由My Corp编写,在My Brand中,名为My App。假设My Brand中还有其他产品可能需要他们自己的数据,以及My Corp中的其他品牌。 Windows上的数据和/或配置应该放在哪里?在Unix上? Mac OS9? Mac OSX?其他

例如,在Windows上,数据会进入“... \ Application Data \ My Corp \ My Brand \ My App”,而在Mac OS X上,数据会进入〜/ Library / Application Support / My Corp /我的品牌/我的应用程序“和在Unix上它将进入”〜/ .mycorp / mybrand / myapp“?(我想其他平台将使用unix的修改,即使基本目录可能不同。)

如果没有真正的惯例,这看起来合情合理吗?有关Mac OS9的任何建议吗?

1 个答案:

答案 0 :(得分:1)

开始反思:

你必须明确区别:

  • 应用数据
  • 设置
  • 数据(可以在多个应用程序中使用)

后者可能最终位于数据库中,或者可以由一个或多个应用程序管理,或者由通信总线封装,以避免所有其他应用程序在它们之间进行对话以访问这些数据。

表示应用程序状态的数据可以进入问题“where cross-platform apps keep their data ?”中提到的“应用程序数据”。

但设置......这取决于您是否需要使用多个“配置”启动应用程序:

  • 每个平台一个:如果您必须在开发阶段管理它们,并在发布阶段打包该文件,以便将其存储在“应用程序数据”中
  • 用于一个平台的 ,具有不同的堆大小,或者表示由同一个应用执行的不同操作的不同设置。这导致设置文件爆炸(也存储在“应用程序数据”的各个子目录中) 这就是将这些数据抽象为Setting Provider的想法是个好主意。

实际上,我们的设置有很多不同的配置,我们将它们存储在单独的生产机器上的数据库中。这样,所有应用程序都可以访问它们,但更重要的是,我们可以实时访问和更改它们,而无需为每次修改停止/重新启动应用程序,或者无需进入每个部署平台。