Chiarimento Pattern - Utilizzo DAO + DTO

di il
3 risposte

Chiarimento Pattern - Utilizzo DAO + DTO

Salve ragazzi, premetto che sono alle prime armi con la programmazione in java. Ho scoperto da poco questi strumenti molto potenti ed avrei bisogno di implementarli in una mia applicazione. Mi risulta ovviamente un po' complicato, ma vorrei delle delucidazioni prima di fare idiozie . Innanzitutto , come da titolo , è possibile implementare entrambi i pattern? Le loro responsabilità e logiche di utilizzo non mi sembrano collidere, perciò vorrei fare miglior chiarezza. In caso di risposta affermativa, sarebbe corretto procedere come nell' esempio qui sotto? Vi ringrazio in anticipo.

/* esempio interfaccia DAO */
package integrationTier;
public interface InterfaceDAO
{
	
	public boolean insert(InterfaceTO transferObj);

	public boolean edit(InterfaceTO transferObj);

	public ArrayList<InterfaceTO> getAll(String ... params);

	public boolean delete(InterfaceTO transferObj);
}



/*esempio interfaccia TransferObject */
package businessTier;
public interface InterfaceTO
{
	// getters & setters per ogni parametro
}

3 Risposte

  • Re: Chiarimento Pattern - Utilizzo DAO + DTO

    Innanzitutto , come da titolo , è possibile implementare entrambi i pattern
    Certo.

    Solitamente quello che si fa è chiamare i metodi/classi nel livello DAO nei metodi/classi del livello DTO.
    Infatti in questo modo si hanno due livelli per la persistenza, in cui solo il DTO comunica con il livello in cui risiede la logica di business in modo tale che questi sia il più separato possibile dal codice SQL (o comunque dal linguaggio che si utilizza per compiere operazioni sul db).

    Mi spiego meglio
    class ObjectDTO {
        public void insert(Object o) {
            ObjectDAO.insert(o);
        }
        ...
    }
    
    class ObjectDAO {
        public static void insert(Object o) {
              PreparedStatement ps=...; // statement con comando SQL per aggiungere un oggetto nel DB
              ps.execute();
        }
        ...
    }
    
    public class BusinessLogic {
        public void insertObject() {
            Object o=...;
            ObjectDTO dto=...;
            dto.insert(o);
        }
    
        ...
    }
    Ovviamente ci sono dei framework che ti creano già in modo automatico le classi del DTO e del DAO e iniettano anche le dipendenze necessarie.
  • Re: Chiarimento Pattern - Utilizzo DAO + DTO

    Grazie mille per la spiegazione ! Mi è stata molto utile
  • Re: Chiarimento Pattern - Utilizzo DAO + DTO

    Sapresti indicarmi qualcosa che spieghi così bene il front controller pattern ? Ti ringrazio in anticipo
Devi accedere o registrarti per scrivere nel forum
3 risposte