java - 您将如何处理将来可能不同的两个相同的值对象?

标签 java spring spring-boot oop

假设我们的 Spring Boot 应用程序中有一个值对象。这是一个非常简单的 VO,具有两个字段、getter、setter 和一两个基本静态方法。需要另一个值对象,它目前具有相同的结构,但将来可能会有所不同。你会如何处理这种情况?

虽然它们在编程上是相同的,但它们应该用于应用程序的不同部分。我想为这两个对象的变化做好准备吗?制作两个相同的类听起来太基础了。欢迎提出任何问题或建议。

最佳答案

这听起来像是两个具有 IS A 关系的对象。 因此,您使用继承。

第二个对象扩展了第一个对象,因此第一个对象的所有字段都可用于第一个对象。 也许,您可以使用interface创建另一个父类(super class)型,并将所有静态字段/方法移入其中。

类似这样的事情。

public class FirstObj {
    private final String field1;
    private final String field2;

    public FirstObj(String field1, String field2) {
        this.field1 = field1;
        this.field2 = field2;
    }

}

public class SecondObj extends FirstObj {
    // Any future fields...

    public SecondObj(String field1, String field2) {
        super(field1, field2);
    }
}

关于java - 您将如何处理将来可能不同的两个相同的值对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60384055/

相关文章:

spring-data-redis redisTemplate 异常

java - Spring boot - 单元测试 Spring Data JPA 存储库

java - Jackson vs. Spring HATEOAS vs. 多态性

java - 累积删除带安全标签的行

java - @JsonProperty 未按预期工作

java - Spring @Value 与多矿属性文件值

spring-boot - 组织.redisson.client.RedisNodeNotFoundException : Node: NodeSource hasn't been discovered yet

java - 如何在按钮操作中用 int 替换 string?

java - 有没有办法在 Android 中打开 Wifi Activity 并获得 Android 中成功连接的结果

java - 为什么组件没有出现在我的 JComponent 中?