Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2018
    Messaggi
    4

    Separare la Boundary dal Controller

    Inizio col dire che sono un principiante, sto facendo un progetto scolastico per un esame e vorrei chiedere aiuto perché non sono certo su come proseguire.
    Devo progettare e implementare in Java un software per la gestione di prenotazioni di esami universitari e realizzare un interfaccia grafica (che ho deciso di fare in swing).
    Da quel che ho capito la classe che ascolta gli eventi generati dai bottoni fa parte della boundary (così come l'interfaccia grafica stessa). Io ho pensato ad una classe che funge da controller ed è il thread che fa partire l'applicazione - una classe frame e diversi pannelli con diverse layout che mi permettono di navigare nell'applicazione.
    Il problema che non riesco a risolvere è che se io faccio ascoltare al thread gli eventi generati dal pannello, poi il thread dovrebbe chiamare sul frame alcuni metodi per magari raccogliere informazioni che l'utente ha inserito in alcuni campi JTextField dell'UI e quindi il frame sarebbe effettivamente il controller e il thread parte della boundary; se invece faccio ascoltare al frame gli eventi generati poi il frame dovrebbe chiamare il thread per leggere qualcosa in un pannello contenuto nel frame stesso!
    Come posso proseguire ? Non vorrei fare confusione e mischiare la boundary e il controller, anche se mi rendo conto è esattamente quello che sto facendo.

    Luca

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Sposto nel forum dedicato a Java.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da Lucat95 Visualizza il messaggio
    Da quel che ho capito la classe che ascolta gli eventi generati dai bottoni fa parte della boundary
    Innanzitutto cosa intendi per "boundary"? (non è un termine usato nelle GUI Java, per quanto ne so).

    Quote Originariamente inviata da Lucat95 Visualizza il messaggio
    Il problema che non riesco a risolvere è che se io faccio ascoltare al thread gli eventi generati dal pannello
    Precisiamo una cosa: NON è un "thread" che ascolta gli eventi della GUI. In Swing esiste un thread specifico che è convenzionalmente chiamato il Event Dispatch Thread (EDT). Questo thread si occupa di svariate cose tra cui principalmente: disegno dei componenti Swing e dispacciamento degli eventi.
    Questo perché Swing, come altri framework grafici, usa il paradigma del "single UI thread", ovvero un solo ed unico thread dedicato alla gestione della interfaccia utente. Tutti gli eventi della GUI sono dispacciati ai metodi dei listener nel contesto del EDT .. non di un qualunque altro (tuo) thread.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2018
    Messaggi
    4
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Innanzitutto cosa intendi per "boundary"? (non è un termine usato nelle GUI Java, per quanto ne so).
    Mi riferisco al patter Boundary Control Entity, una variazione del pattern architetturale model view controller.
    Entity: classi di oggetti che rappresentano lasemantica del dominio applicativo
    Boundary: classi di oggetti che rappresentanol’interfaccia tra gli attori e il sistema (il modelloapplicativo e il resto)
    Controller: classi di oggetti che determinano ilmodo in cui l’applicazione risponde agli input degliattori

    Comunque ho risolto, si può chiudere la discussione, grazie!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.