Sto provando a progettare le "principali" classi di un'applicazione Rich Desktop basata su NetBeans Platform 7. Questa applicazione consumerà servizi HTTP e, tramite un "sistema push" su TCP, riceverà messaggi.
- Siamo 3 sviluppatori e vogliamo sviluppare moduli in parallelo
- L'applicazione sarà stratificata (dati, affari, presentazione)
- Useremo Modello di presentazione per separare le responsabilità
- Alcuni dati granulari (un bean Person per esempio) saranno condivisi da più schermate (e possibilmente visualizzati su più schermi contemporaneamente)
- ...
Siamo in grado di sviluppare schermate individuali, ma non sappiamo esattamente come organizzare l'intera applicazione e definire ogni contenuto del modulo.
- Quindi, hai qualche consiglio (un modello / best practice / libro / app di esempio) per coordinare / gestire le interazioni all'interno dell'intera applicazione?
- Qualche consiglio su come definire il contenuto dei moduli?
Grazie!
Piccolo esempio per illustrare cosa voglio costruire: Un'applicazione di gestione utenti Foo
- Avvia l'applicazione
- Alla sinistra [explorer] abbiamo una lista di piattaforme (la lista è memorizzata in un file locale)
- In alto abbiamo il pulsante per aggiungere una nuova piattaforma (disponibile anche con il tasto destro)
- Facendo doppio clic su una piattaforma, l'app chiama un servizio HTTP e recupera un elenco completo di utenti. Questo elenco viene visualizzato in [editor] (in una tabella J)
- Viene avviato un processo in background: tramite una connessione TCP riceviamo messaggi
- È possibile aggiungere un nuovo utente grazie a un pulsante in una barra degli strumenti
Se l'applicazione viene avviata su un altro PC e se l'utente è connesso alla stessa piattaforma, l'Elenco utenti verrà aggiornato in modo dinamico (aggiungi / rimuovi / stato: {offline / online}) (grazie ai messaggi)
In futuro verrà fornito un modulo di chat.
La mia domanda è (in altre parole): qualche consiglio / buona pratica per decidere sul contenuto di ciascun modulo? Se PM (Presentation Model) è un buon modo per separare la vista / business e dati e creare schermate, qual è il modo migliore per collegare più schermi basati su PM? Immagina di sviluppare il Modulo Chat, come aggiungere una voce "Discuti con ..." al menu contestuale disponibile con il tasto destro del mouse su Elenco utenti?