全局变量的替代品

时间:2016-09-05 17:29:59

标签: ruby

我有一个程序,可以在首次登录时从API中获取多个全局设置。然后,这些值将在整个程序中广泛使用。目前我将它们存储在全局变量中,但它似乎不是OOP。

存储广泛使用的设置的全局变量有哪些替代方法?使用常数?类变量?我将在哪里通过API调用初始化值,因为这只需要发生一次?我已经看到一些示例实例化一个类来获取变量,但这对我来说没有多大意义。

我想在登录时设置值,然后使用Global.myvalue或GLOBAL_MYVALUE等简单表达式调用其他地方的变量

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

根据您提供的信息很难给出简明的答案,但我会不惜一切代价避免使用全局变量。

一个好的起点是想到一个类,它可以是你使用这些变量并将它们存储在该类中的所有地方的共同祖先。如果您的子类继承自该类,则这些变量将自动在其上下文中可用。

编辑:像@seph发布的那样,单身模式似乎是一个更好的解决方案