【发布时间】:2017-11-20 16:47:16
【问题描述】:
我目前正在提供一个包含大量公共 API 的服务。并且响应和请求对象重叠很多。所以,我在想有没有一种方法可以概括为请求/响应对象创建 pojo。 有时响应对象与请求对象相同,但具有一两个额外的字段。
让我举个例子。
@Data
public class Request {
private A objA;
private B objB;
}
@Data
public class Response {
private A objA;
private B objB;
private C objC;
}
@Data
public class A {
private D objD;
}
@Data
public class B {
private String sB;
private E obje;
}
@Data
public class C {
private String sC;
}
类似地,D 和 E 也是 pojos。问题是请求/响应对象中有很多相似之处(重叠字段)。
【问题讨论】:
-
创建一个由
Request和Response扩展的通用类。将所有常用字段添加到该类并标记为protected?我不确定这个问题的复杂性在哪里。 -
使用
abstract class,然后在其中放置公共字段 -
您的问题并不表明他们需要定义一个将由应用程序使用的通用基本类型以及需要父类的模板方法模式。仅仅因为许多类共享相同的字段并不意味着它们需要通过继承绑定在一起。我宁愿把它们分开。