管理随机配置变量的一般模式

时间:2010-03-11 11:55:13

标签: ruby-on-rails configuration anti-patterns

作为一个总是试图将事情归结为常见模式的人,我很难找到在整个应用程序中管理所有随机属性的最佳和/或推荐方法。我正在寻找一些如此的智慧。

我在说什么随机属性?这是一个小清单:

  • 图标
  • alt文字随机但常见的图标,如徽标和社交图标
  • 菜单标题和嵌套菜单标题
  • 版权信息
  • 表单和按钮标签
  • 表单字段中的默认文本
  • 工具提示
  • 文字如“发表评论”或“发送电子邮件给我们”或“点击此处取消回复。”
  • 精选帖子
  • 作者姓名

我工作的第一个大项目是自定义Spree eCommerce System(我是一个Rails人),他们在html模板中使用的config stuff in deeply nested yaml files保留了很多(不是全部)比如<h1>t('checkout_steps.payment')</h1>。然后有像settingslogic和其他类似的方式工作。我喜欢这些方法,但我仍然不清楚这是否是最好的方式......

(超过)想知道,你是怎样的,SO读者:

  • 整理代码以有效管理200多个随机设置?
  • 你有什么样的系统?你使用什么样的模式?
  • 您是否让客户以某种方式自定义这些内容?

寻找正确方向的推动力。开始学习如何编程,你学习代码分离和明确定义类,而不是将事物连接在一起,这样它们就变得一团糟。但是自定义/随机设置/配置似乎不遵循任何这些规则,并且它们完全被排除在外。所以我只是想知道你如何思考。我不想浏览代码,在一组HTML模板中更改值是最好的选择....

简而言之:WTF是一个“设置”,我们如何正确使用它们?

期待您的见解。

1 个答案:

答案 0 :(得分:1)

不要将所考虑的配置与被视为翻译的内容混合。 在您的申请中,您应该具备以下条件:
1.核心配置变量。必须配置的变量,以便您的应用程序启动。 Theese适用于大多数应用程序数据库参数,ldap参数等.Theese主要存储在/config目录下的yaml文件中。 2.全局配置变量。应用程序启动后可以配置的变量可能在应用程序中有一个UI。 theese主要存储在/config目录下的yaml文件中。或特殊的数据库表 3. UI文本translations和本地化。 Theese主要存储在/config/locales目录下的yaml文件中。