Estou tentando criar as "principais" classes de um aplicativo Rich Desktop baseado na plataforma NetBeans 7. Esse aplicativo consumirá serviços HTTP e, por meio de um "sistema push" sobre TCP, receberá mensagens.
- Somos 3 desenvolvedores e queremos desenvolver módulos em paralelo
- A aplicação será em camadas (dados, negócios, apresentação)
- Usaremos o Modelo de apresentação para separar as responsabilidades
- Alguns dados granulares (uma pessoa Bean, por exemplo) serão compartilhados por várias telas (e possivelmente exibidos em várias telas ao mesmo tempo)
- ...
Somos capazes de desenvolver telas individuais, mas não sabemos exatamente como organizar o aplicativo inteiro e definir o conteúdo de cada módulo.
- Então, você tem algum conselho (um aplicativo de padrão / prática recomendada / livro / amostra) para coordenar / gerenciar interações dentro de todo o aplicativo?
- Algum conselho sobre como definir o conteúdo dos módulos?
Obrigado!
Pequeno exemplo para ilustrar o que eu quero criar: Um aplicativo Foo User Management
- Inicie o aplicativo
- À esquerda [explorer], temos uma lista de plataformas (a lista é armazenada em um arquivo local)
- No topo, temos o botão para adicionar uma nova plataforma (também disponível com o botão direito)
- Ao clicar duas vezes em uma plataforma, o aplicativo chama um serviço HTTP para recuperar uma lista completa de usuários. Esta lista é exibida no [editor] (em uma JTable)
- Um processo em segundo plano é iniciado: por meio de uma conexão TCP, recebemos mensagens
- É possível adicionar novo usuário graças a um botão na barra de ferramentas
Se o aplicativo for iniciado em outro PC e se o usuário estiver conectado à mesma plataforma, sua Lista de Usuários será atualizada dinamicamente (adicionar / remover / status: {offline / online}) (graças a mensagens)
No futuro, será fornecido um módulo de bate-papo.
Minha pergunta é (em outras palavras): algum conselho / melhor prática para decidir sobre o conteúdo de cada módulo? Se o PM (modelo de apresentação) é uma boa maneira de separar exibição / negócios e dados e criar telas, qual é a melhor maneira de vincular várias telas com base no PM? Imagine que desenvolvemos o módulo de bate-papo, como adicionar uma entrada "Discutir com ..." ao menu de contexto disponível com o botão direito do mouse na lista de usuários?