【发布时间】:2011-09-07 13:12:06
【问题描述】:
我需要通过我的应用程序分发某种静态配置。这样做的最佳做法是什么?
我看到三个选项:
- 当模块需要获取配置值时直接调用
application:get_env。- 另外:比其他选项更简单。
- 减号:如何在不启动整个应用程序的情况下测试此类模块?
- 减号:如何启动具有不同配置的某些模块(如果需要)?
- 在启动期间将配置(从
application:get_env检索)传递给应用程序模块。- 另外:模块更容易测试,您可以使用不同的配置启动它们。
- 减号:大量样板代码。更改配置格式需要修复几个地方。
- 在单独的配置过程中保留配置。
- 另外:或多或少的类型安全方法。更容易跟踪某些参数的使用位置和更改这些位置。
- 减号:需要在运行模块之前启动配置过程。
- 减号:如何启动具有不同配置的某些模块(如果需要)?
【问题讨论】:
-
您是否考虑过以编程方式启动节点的含义(例如,使用 ct_slave)?更改 .app 或 .config 文件很麻烦,使用“静态”模块方法是不切实际的……我仍在努力找出最好的方法……
-
我必须(或我的猫)错误地投票否决了这个,现在显然我的决定被锁定了......对不起。
标签: configuration erlang