java - java 方法如何进行版本控制?

标签 java

我需要修订业务规则的方法,同时保持所有先前版本的可访问性。它们所包含的类将相同,但每个方法中的内容将不同。我希望它们具有相同的方法签名。调用者将知道它想要执行的版本。我也不想在方法名称中包含 _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/

相关文章:

java - 从字符串中解析有符号数

java - 3 维数组列表参数不适用

java - Spark : show dataframe content in logging (Java)

java - 为什么界面有帮助?

java - Swing Worker 模态对话框不会关闭

java - 服务 bean 在 spring cglib 代理中注入(inject)失败

java - 非阻塞 (NIO) 读取行

java - 作为身份功能实现的 Guice-Provider 如何工作?

java - 如何在java中创建一个可以像这样转换为json的对象类?

java - 在 java 中将两个字节(一个正数和另一个负数)组合成 short