我需要修改业务规则的方法,同时保持所有以前的版本都可以访问。它们所包含的类将是相同的,但每个方法中的内容会有所不同。我希望它们具有相同的方法签名。调用者将知道它想要执行的版本。我也不想在方法名称中包含 _vX(如下例所示)。有一个更好的方法吗?每个方法上的注释之类的东西会很好,但在简短的测试中似乎不可能使方法足够独特。
public class SomeSpecificRule {
public Response processRule_v1() {
}
public Response processRule_v2() {
}
}
编辑:不同方法的原因是方法中包含的逻辑可能在不同时间有效(主要场景),但我们需要能够在任何给定时间(次要)运行任何版本。method_v1 用于 Dates x1-x2,而来自 Dates x2-x3 的 method_v2 将很常见。但是,“我们应该使用哪个版本”给定的日期和其他标准逻辑我希望保持分开,以便其他开发人员可以轻松地创建这些类和其他方法。