Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    MVC in Swing

    Ciao a tutti,
    sto creando un applicazione in java utilizzando Swing per l'interfaccia grafica.
    Devo utilizzare il pattern MVC e eventualmente capire se questa è la strada giusta.

    Supponiamo che l'applicazione consista in un frame che visualizza un form in cui viene chiesto all'utente di inserire nome e cognome.

    MVC:

    Modello: contiene tutti i metodi accessori es. getFirstName(), setFirstName(), getLastName(), setLastName() [...]

    View: costruisce l'interfaccia grafica (Jframe ecc.ecc.) inserendo le due JTextfield

    Controller: ?? cosa deve fare?
    Da quello che ho capito il controller dovrebbe chiamare i metodi del modello (setFirstName, setLastName) una volta che l'utente ha editato i campi JTextfield.

    La mia domanda è: a cosa serve il controller? Come va implementato? Non posso già gestire tutto nella view?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Sbagli ad identificare gli attori dell'MVC:

    per vista intendi un qualsiasi sottoinsieme dei dati di riferimento, che poi li visualizzi su un grafo a torta, pagina jsp, file, console non importa. La vista inoltre interagisce direttamente con gli agenti esterni (e non sono obbligatoriamente utenti)

    Il modello invece non è il bean di una data informazione, bensì l'insieme di metodologie che ti consentono l'accesso alle informazioni, siano esse su db, su file, su server.

    Il controller si occupa di tutte le azioni necessarie ad esaudire una richiesta di un qualsiasi agente.

    Un esempio:
    pagina web a cui chiedi l'elenco dei libri di una biblioteca, libri che si trovano su un db (non ti dico che db).
    Tu richiedi l'elenco (quindi sei sulla vista), viene subito passata la tua richiesta al controller, che si occuperà di attivare i moduli necessari per reperire la lista di libri: dalla vista prenderà eventuali filtri, che passerà al model il quale farà la richiesta al tuo db.
    Terminata la richiesta, il model restituisce al controller i dati reperiti, che li rimanda alla vista.
    MVC, tre attori che lavorano per esaudire una richiesta.
    Cosa è comodo: separando logica di controllo, da quella di visualizzazione e di modellizzazione, posso cambiare qualsiasi modulo senza dover riscrivere gli altri (se ci fai caso io non ho parlato di interfaccia grafica, jsp, tipo di database ecc).

    Mischiando le logiche, aggiungi confusione, mischi un po' le cose e rischi di avere problemi per cambi e manutenzione
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.