diciamo che ho diversi oggetti Object A
, Object B
, Object C
in diverse parti del mio progetto. Ho definito un Object X
che viene utilizzato solo per memorizzare alcuni valori specifici dagli oggetti sopra menzionati più alcuni altri dati di contesto, solo le funzioni getter e setter e passarlo su un altro livello o servizio. Quale sarebbe la procedura migliore per creare un metodo per riempire il mio Object X
.
Opzione 1
Definisci in un unico pacchetto tutti i metodi necessari per spostare i valori.
Class FillObject{
public static ObjectX fill(ObjectA a, contextVariableA ctx){
ObjectX x = new ObjectX;
x.setName(a.getName());
x.setPlate(ctx)
return x;
}
public static ObjectX fill(ObjectB b,contextVariableB ctx1, contextVariableB ctx2){
ObjectX x = new ObjectX;
x.setName(b.getName());
x.setOrigin(ctx1)
x.setPlate(ctx2)
return x;
}
}
In questo modo quando ho bisogno di riempire ObjectX
nel pacchetto in cui ObjectA
esiste, posso solo fare:
// ObjectA myA was define prior to this line
ObjectX myX = FillObject.fill(myA,ctxVar);
anotherService.doSomething(myX);
Posso usare lo stesso approccio in un altro pacchetto in cui ObejectB
esiste.
Opzione 2
Definisci diversi costruttori per ObjectX
per gestire la creazione dell'oggetto in base al tipo di argomenti.