假设我有一些程序范围的信息,例如程序的根目录或所选语言,我希望用户能够更改。我应该如何最好地将这些信息以易于访问的形式存储到程序的任何部分?
我在考虑使用存储在单个文件中的全局变量,这些变量可以包含在需要该信息的其他文件中。这样,我只需要更改该全局变量的值,整个程序就可以像以前一样访问新值。但是,我担心使用这样的全局变量将是不好的做法。你对此有何看法?
(另外,我认为这与语言无关,但如果有不同的最佳方法可以用不同的语言完成此操作,我也希望听到这一点)
答案 0 :(得分:3)
听起来像首选项API 。实际上,每一个重要的应用程序框架都提供了一个,甚至几个。例如,有一个作为核心Java API的一部分,另一个作为Eclipse框架的一部分。 Windows有注册表,您可以使用该平台上的任何语言,等等。这些东西通常是结构化的,因此您可以使用静态工厂方法来获取应用程序的首选项存储,然后您可以从任何地方。
答案 1 :(得分:0)
您可以为复杂的信息存储创建一个名为共享控制器的东西(使用一些方法来创建/更新/删除信息)。它可以按照单例模式实现。 Objective-C开发人员经常使用该实践在应用程序中存储全局对象。