我有一个网络应用程序,希望跟踪/编写来自不同州立法机构的账单。不过,我发现的问题是,许多州对法案模式、进展规则有不同的规则(即,有些州允许您重新考虑失败的法案,而其他州则不允许)等等。
我现在在模型中处理它的方式是创建一个Bill
类,然后有条件地重新打开该类并向该类添加其他字段和验证,具体取决于环境变量。目的是让每个州都有自己的应用程序安装,所以我会STATE
设置一个OR
并让应用程序使用俄勒冈州的账单规则。
然而,这对我来说已经成为一个巨大的问题。像这样重新打开类在生产中效果很好,但是测试变得非常困难,因为需要在启动时打开该类并且不能禁用测试,除非我以某种方式使用不同的环境变量重新加载整个程序. 我已经通过 Google 和 StackOverflow 进行了搜索,但我没有得到任何关于我正在寻找的最佳实践的结果,要么是因为它们不存在,要么我不知道它的名称。