Progettazione di oggetti modali Java

1

Questa domanda non riguarda un programma specifico. Si tratta di design - la fase UML del progetto.

Sto supervisionando un progetto Java. Conterrà molte finestre popup modali. Da un punto di vista C / C ++, ho un riferimento alla finestra principale mantenuta in tutto il programma in modo che ogni finestra di dialogo possa, se necessario, bloccare l'interattività con la finestra di dialogo principale. In Java, c'è un modo standard per farlo?

Questo è uno scenario: l'eseguibile principale possiede una JFrame che è la finestra principale. L'eseguibile principale ha un oggetto, lo chiamerò House. La casa ha alcuni oggetti della stanza. L'oggetto Room ha un oggetto Closet.

Se voglio che l'oggetto Closet apra una finestra di dialogo, bloccando l'input alla finestra principale, devo inviare un'istanza del JFrame principale alla House, passarla in ogni Room, quindi passarla ad ogni Guardaroba? C'è un modo per dire "Dammi il componente di primo livello"? Oppure ... Questo semplicemente non è il modo in cui è fatto correttamente in Java?

    
posta kainaw 23.09.2014 - 14:24
fonte

1 risposta

1

Certo, se un flusso di dati nel mondo dell'applicazione è davvero unico, cioè tutti i messaggi di qualche tipo che provengono da qualsiasi parte del tuo sistema dovrebbero finire lì, allora non c'è niente di sbagliato nell'avere un'istanza dedicata che li maneggia tutti (anche se potrebbe diventare un collo di bottiglia per quanto riguarda le prestazioni o addirittura deadlock).

Non è consuetudine mantenere tale riferimento in una variabile globale. Molto più spesso si vede un singleton con un metodo getInstance() , un'entità denominata che ogni componente può cercare tramite una sorta di registro di servizio, qualcosa di invisibile intrecciato nel programma da AOP o meccanismi simili.

    
risposta data 23.09.2014 - 14:35
fonte

Leggi altre domande sui tag