我有两个独立的子模块来解析一些数据。一个人使用互联网使用网络服务。结果是一些具有相同变量的DTO。现在我需要在我的主要模块中格式化这个dtos,但是如何在没有双重性的情况下做到这一点?我不能使用一些包含我的子模块使用的接口的通用模块
public static String formatData(submoduleA.DataDto data) {
//this will be duplicity
return ...
}
public static String formatData(submoduleB.DataDto data) {
//this will be duplicity
return ...
}
答案 0 :(得分:0)
您可以为常用功能创建抽象基础DTO。您可以将该DTO存储在公共模块中,并参考ModuleA和ModuleB
中的模块public abstract class BaseDto{
public String formatData()
}
public class DataDto extends BaseDto{
public String formatData(){
return ...
}
}
答案 1 :(得分:0)
你应该创建一个界面,让我们说CommonDataDto
,然后对这个界面进行编码。
public static String formatData(CommonDataDto data) {
String formatted = data.getType() + data.getId();
// ...
return formatted;
}
然后你可以让submoduleA.DataDto
和submoduleB.DataDto
实现它,或者,如果你不能改变这些类,那么为它们创建一个适配器。