我需要修订业务规则的方法,同时保持所有先前版本的可访问性。它们所包含的类将相同,但每个方法中的内容将不同。我希望它们具有相同的方法签名。调用者将知道它想要执行的版本。我也不想在方法名称中包含 _vX (如下例所示)。有一个更好的方法吗?在每个方法上添加注释之类的东西会很好,但在简短的测试中,这似乎不可能使方法足够独特。
public class SomeSpecificRule {
public Response processRule_v1() {
}
public Response processRule_v2() {
}
}
编辑:使用不同方法的原因是方法中包含的逻辑可能在不同时间(主要场景)有效,但我们需要能够在任何给定的情况下运行任何版本时间(次要)。 method_v1 用于日期 x1-x2,method_v2 用于日期 x2-x3 将很常见。然而,“我们应该使用哪个版本”给定的日期和其他标准逻辑我希望保持独立,以便其他开发人员轻松创建这些类和附加方法。
最佳答案
没有任何其他规范,听起来你想使用一个接口(interface):
interface Rules {
Response processRule();
}
class Rules_v1 implements Rules {
public Response processRule() { ... }
}
class Rules_v2 implements Rules {
public Response processRule() { ... }
}
关于java - java 方法如何进行版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14984688/