【发布时间】:2019-07-09 19:30:31
【问题描述】:
我想知道下面的代码是否违反了开闭原则。
Animal 是Dog 的父类,但是Animal 具有帮助ObjectMapper (反)序列化类的杰克逊注解。扩展Animal 的任何人都必须只编辑Animal 上存在的注释,以确保(反)序列化按预期工作,而不影响类。
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
// all subclasses
@Type(value = Dog.class, name = "dog")
})
public abstract class Animal {
// fields, constructors, getters and setters
}
public class Dog extends Animal {
}
【问题讨论】:
标签: java oop design-patterns jackson jackson-databind