如何使用来自两个独立模块的dto

时间:2016-11-30 08:31:02

标签: java

我有两个独立的子模块来解析一些数据。一个人使用互联网使用网络服务。结果是一些具有相同变量的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 ...
}

2 个答案:

答案 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.DataDtosubmoduleB.DataDto实现它,或者,如果你不能改变这些类,那么为它们创建一个适配器。