2016-11-30 2 views
0

Ich habe zwei unabhängige Untermodule, die einige Daten parsen. Man benutzt Internet second mit Web Services. Ergebnis ist ein DTO mit derselben Variablen. Jetzt muss ich diese dtos in meinen Hauptmodulen formatieren, aber wie kann ich das ohne Duplikate machen? Ich kann nicht etwas gemeinsames Modul verwenden, die Schnittstelle durch meine Unter Module enthaltenWie man mit dto von zwei unabhängigen Modulen arbeitet

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

Sie sollten DTOs für jedes Modul für Best Practice – cokceken

+0

ye Man duplizieren, wie es jetzt ist. Aber ich weiß nicht, wie ich diese 2 DTOs ohne Duplikat formatieren kann. – hudi

+0

Wenn Sie einen Plural angeben möchten, ist der richtige Weg: DTOs. Ein Apostroph zwischen dem Wort und dem s zeigt Genitiv Singular, z. der Code des DTO. – mike

Antwort

0

Sie können eine abstrakte Basis DTO für gemeinsame Funktionalität erstellen. Sie können in einem gemeinsamen Modul, das DTO speichern und Verweis auf das von ModuleA und ModuleB

public abstract class BaseDto{ 
    public String formatData() 
} 

public class DataDto extends BaseDto{ 
    public String formatData(){ 
     return ... 
    } 
} 
0

Sie sollten eine Schnittstelle erstellen, lassen Sie uns sagen CommonDataDto und Code gegen diese Schnittstelle.

public static String formatData(CommonDataDto data) { 
    String formatted = data.getType() + data.getId(); 
    // ... 
    return formatted; 
} 

Dann können Sie entweder hava beide submoduleA.DataDto und submoduleB.DataDto umzusetzen, oder, wenn Sie nicht diese Klassen ändern können, einen Adapter für beide erstellen.

Verwandte Themen