处理应用程序配置的最佳做法是什么?

时间:2012-03-05 09:50:27

标签: ruby-on-rails configuration settings

我会在我的应用程序的上下文中说出这个问题,但我认为它的配置通常有更广泛的范围。我的应用程序允许公司跟踪其员工的缺勤和假期。其中一个好处是,它将根据雇主设定的规则自动增加一个人的假期权利。目的是让公司选择:

A)每年自动将员工的权利增加一定天数,例如每年1月1日,假期权利增加1天;或

B)员工的权利根据服务年限而增加,例如工作2年后,权利增加2天

实现此功能的最佳方法是什么?第一个选项实现起来相当简单,因为我跟踪每个休假年的开始/结束日期,每个员工的增量可以存储为整数。

我想我正在寻找存储所选方法的最佳实践解决方案;如何以可扩展的格式存储相关选项和所有选项,以便我以后添加更多方法。

我正在使用Ruby on Rails,但问题可能与其他语言有关。

由于

罗宾

1 个答案:

答案 0 :(得分:0)

怎么样:将余额存储在员工中。员工属于公司。到时候,用

之类的东西设定天平
self.company.set_balance(self.balance)

因此,您的员工评估员会对所有员工进行管理,并要求公司重新计算其余额。

如果它是全局策略,那么您不需要告诉公司员工是谁,但如果您需要特殊情况,您可以将Employee传递给set_balance方法,以便它可以获得有关员工被重新计算。

至于Compay关于如何增加日期的策略,我将其置于一个模型中,以限制策略更改时所需的代码更改。

如果这是一个简单的规则,可能只需将其保存在键/值对中:

“holiday_entitlement”/ “平坦” 要么 “holiday_entitlement”/“服务年限”

我不会保留数据库中的值(1或2),以避免聪明的员工入侵数据库并在其中添加“有利”值:)