DTO e DAO concetti e MVC

1) Perché usiamo DTO e DAO, e quando li usiamo. Sto sviluppando un GUI software Java a che fare con l’inserimento, modifica, cancellazione dei dati. Ma ho difficoltà a distinguere tra DTO/DAO e Model, View, Controller (MVC) Struttura? Sono simili, che è meglio utilizzare quando si interagisce con il database tramite Java GUI.

2) Una cosa che mi incuriosisce molto è se si tratta di una buona pratica di avere view e Controller in una classe. Se pensiamo Netbeans, è possibile creare GUI Cornice di Classe e di aggiungere componenti come JButton sul telaio, fare doppio clic sul pulsante per la actionListener metodo(Controller) che sembra essere nel telaio i dati devono essere visualizzati per l’utente (View). Quindi sono nella stessa classe. È che andando contro il concetto o no?

Qui è di cosa sto parlando

cattiva abitudine per view e controller di classe?

  • Dove si utilizza DTO?
  • hanno una tabella di database che contiene Eventi (eventId,nome,data.ecc), in modo DTO e MVC, uguali o diversi?
  • Il database non hai DTO ma gli oggetti di database.
  • in Java le classi scusa, utilizzando DTO/DAO struttura, o dovrebbe essere, con MVC? qual è la differenza
  • leggere questo e che controllare la differenza
  • avete letto database a seconda def?
  • se non, la seconda domanda circa se si utilizza una seconda scelta come sarebbe in relazione con il primo?
  • se non riusciva a trovare la risposta di controllo questo troppo per una facile spiegazione.
  • 1) Sembra che hai un sacco di diversi concetti e modelli che, mentre sono spesso utilizzati in applicazioni, devono essere affrontati uno per uno. DTO e DAO sono molto diversi concetti, e non è davvero un “o/o” quando in contrasto con MVC.
  • correlati stackoverflow.com/questions/1612334/…

InformationsquelleAutor Hoody | 2013-01-16



One Reply
  1. 229

    DTO è un’abbreviazione per Oggetto di Trasferimento Dati, quindi è utilizzato per trasferire i dati tra le classi e dei moduli dell’applicazione.

    • DTO deve contenere solo campi privati per i vostri dati, getter, setter, e costruttori.
    • DTO non è raccomandato per aggiungere la logica di business metodi per tali classi, ma è OK per aggiungere un po util metodi.

    DAO è un’abbreviazione per di Accesso ai Dati Oggetto, quindi dovrebbe incapsulare la logica per il recupero, risparmio e l’aggiornamento dei dati nel data storage, un database, un file di sistema, a prescindere).

    Qui è un esempio di come il DAO e DTO interfacce simile:

    interface PersonDTO {
        String getName();
        void setName(String name);
        //.....
    }
    
    interface PersonDAO {
        PersonDTO findById(long id);
        void save(PersonDTO person);
        //.....
    }

    Il MVC un più ampio modello. Il DTO/DAO sarebbe il modello del pattern MVC.

    Ti dice come fare per organizzare l’intera applicazione, non solo la parte responsabile per il recupero dei dati.

    Come per la seconda domanda, se si dispone di una piccola applicazione è completamente OK, però, se si vuole seguire il pattern MVC sarebbe meglio avere un controller separato, che contiene la logica di business per la cornice, in una classe separata e di invio di messaggi di questo controller dai gestori eventi.

    Questo consentirebbe di separare la logica di business dalla vista.

    • La prima domanda riguardava la differenza betweet DTO/DAO vs MVC, penso.
    • Probabilmente ho missunderstood la questione.
    • Se volevo aggiungere un trigger per attivare/disattivare qualcosa come il PersonDAO.save(), posso metterlo direttamente nel save() metodo? Inoltre, per le prestazioni del database per i contatori, vorrei aggiungere timer direttamente al save() metodo? Inoltre, è possibile disporre di un PersonDAO ref all’interno PersonDTO?
    • Non sono sicuro di cosa si intende per “controller separato”. Dalle mie letture, il controller MVC dovrebbe essere il più magro possibile e la logica aziendale deve essere incapsulato in modelli.
    • Utilizzando DTO di interfaccia modello a Oggetti è una pratica terribile. void save(PersonDTO persona) è pura cancro.
    • perché abbiamo bisogno di DTO quando abbiamo una Classe di oggetti POJO? non che sia la stessa?
    • DTOs vengono utilizzate per restituire i risultati combinati di più entità(Pojo) o risorse limitate da un’entità.
    • inoltre, si può prendere in considerazione DTOs sono di tipo Richiesta/Risposta Payload che, naturalmente, può essere diversa di POJO o Modello di Dominio di Entità

Lascia un commento