我使用 gen_server 和 gen_fsm 实现了一个 otp 系统。对于软件运行所需的一些值,需要读取一个配置文件,例如:
{values, [value1, value2, value3]}.
我使用宏来提取其中一个值
define(VALUES, my_utility:get_conf_value(values)).
问题如下:由于 ?VALUES 可能会被非常频繁地调用,因此配置文件会被解析多次,我是否应该将 ?VALUES 嵌入到我的 gen_fsm 的 gen_server 的状态中,并在需要时随时调用它来提取它?
事实上,我真的很欣赏之前的实现,因为只需更改配置文件中的值,就可以改变软件的行为,而无需任何 #state{} 更改或调用。
您更喜欢哪种解决方案?