0

这与跨平台应用程序应该将数据保存在哪里非常相似?,但稍微扩展一下。

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

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

例如,在 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

只是开始反思:

您必须明确区分:

  • 应用状态数据
  • 设置
  • 数据(对于多个应用程序可能是通用的)

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

代表应用程序状态的数据可以放在“应用程序数据”中,如问题“跨平台应用程序将数据保存在哪里? ”中所述。

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

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

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

于 2008-11-02T09:49:27.397 回答