Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic 存储整个程序使用的信息的最佳方式?_Language Agnostic_Global Variables - Fatal编程技术网

Language agnostic 存储整个程序使用的信息的最佳方式?

Language agnostic 存储整个程序使用的信息的最佳方式?,language-agnostic,global-variables,Language Agnostic,Global Variables,假设我有一些程序范围的信息,比如程序的根目录或所选语言,我希望用户能够更改这些信息。我应该如何最好地将这些信息存储在程序的任何部分在任何时候都可以轻松访问的表单中 我在考虑使用存储在单个文件中的全局变量,其他需要这些信息的文件可以包含这些全局变量。这样,我只需要更改全局变量的值,整个程序就可以像以前一样访问新值。然而,我担心使用这些全局变量将是一种不好的做法。你对此有何看法 (另外,我认为这与语言无关,但如果用不同的语言实现这一点有不同的最佳方法,我也想听听)您可以创建一个名为shared co

假设我有一些程序范围的信息,比如程序的根目录或所选语言,我希望用户能够更改这些信息。我应该如何最好地将这些信息存储在程序的任何部分在任何时候都可以轻松访问的表单中

我在考虑使用存储在单个文件中的全局变量,其他需要这些信息的文件可以包含这些全局变量。这样,我只需要更改全局变量的值,整个程序就可以像以前一样访问新值。然而,我担心使用这些全局变量将是一种不好的做法。你对此有何看法


(另外,我认为这与语言无关,但如果用不同的语言实现这一点有不同的最佳方法,我也想听听)

您可以创建一个名为shared controller的东西,用于复杂信息存储(使用一些方法来创建/更新/删除信息)。它可以按照单例模式实现。Objective-C开发人员经常使用这种做法来跨应用程序存储全局对象。

听起来像是一个首选项API。现在,几乎每个重要的应用程序框架都提供了一个,甚至几个。例如,一个是作为核心JavaAPI的一部分,另一个是作为Eclipse框架的一部分。Windows有注册表,您可以从该平台上的任何语言使用,等等。这些东西通常是结构化的,因此您可以使用静态工厂方法来获取应用程序的首选项存储,然后您可以从任何地方与之交互。

+1安卓、Mac OS X、,Linux上的KDE和Gnome环境也提供了首选项API。哦,是的,这就是我想要的。谢谢