Si, faccio un cast verso lo specifico DTO che serve al momento..Il mio obiettivo finale è la realizzazione di un sistema software che gestisce prenotazioni ad eventi. È parte integrante di un esame universitario e per realizzarlo ovviamente ho dei requisiti da rispettare, tra cui l impiego di diversi pattern. Avendo impostato una architettura three tier, ho ritenuto DAO e DTO utili, così come Front Controller e Command, da cui sorge la mia domanda posta qui sopra. Non avendo molta esperienza in java, avevo dei forti dubbi sul corretto impiego de generics (avendo utilizzato solo i template del c++). poiché il metodo execute delle classi che implementano l interfaccia command mi permette il passaggio da livello di applicazione al livello della logica di business, ho pensato che , in alcuni casi tornando un boolean, avrei avuto la possibilità di caricare una view piuttosto che un altra. Per fare ciò ho scritto
public interface command<T>
{ public abstract T execute(I_DTO);
}
nell interfaccia , mentre in un.command concreto
public class concreteCommand implements Command<Boolean>
{
public Boolean execute(I_DTO){
...
return Boolean ;}
}
//mentre nel caso in cui volessi il metodo void
public class concreteCommand implements Command<Void>
{
public Void execute(I_DTO){
...
return null ;}
}