Я пытаюсь спроектировать «основной» класс (-ы) приложения Rich Desktop на основе платформы NetBeans 7. Это приложение будет использовать службы HTTP и через «push-систему» через TCP будет получать сообщения.
- Мы 3 разработчика, и мы хотим разрабатывать модули параллельно
- Приложение будет многоуровневым (данные, бизнес, презентация)
- Мы будем использовать Модель презентации для разделения обязанностей
- Некоторые детальные данные (например, bean Person) будут совместно использоваться несколькими экранами (и, возможно, отображаться на нескольких экранах одновременно)
- ...
Мы можем разрабатывать отдельные экраны, но мы не знаем точно, как организовать все приложение и определить содержание каждого модуля.
- Итак, есть ли у вас какой-либо совет (шаблон / лучшая практика / книга / пример приложения) для координации / управления взаимодействиями внутри всего приложения?
- Любой совет о том, как определить содержание модулей?
Спасибо!
Небольшой пример, иллюстрирующий то, что я хочу построить: Приложение Foo User Management
- Запустите приложение
- Слева [explorer] у нас есть список платформ (список хранится в локальном файле)
- Вверху у нас есть кнопка для добавления новой платформы (также доступна при нажатии правой кнопки мыши)
- Двойным щелчком по платформе приложение вызывает службу HTTP и получает полный список пользователей. Этот список отображается в [редакторе] (в JTable)
- Запускается фоновый процесс: через TCP-соединение мы получаем сообщения
- Можно добавить нового пользователя благодаря кнопке на панели инструментов
Если приложение запускается на другом ПК и пользователь подключен к той же платформе, его список пользователей будет обновляться динамически (добавление / удаление / статус: {offline / online}) (спасибо сообщениям)
В будущем это будет модуль чата.
Мой вопрос (другими словами): какой-нибудь совет / лучшая практика, чтобы выбрать содержание каждого модуля? Если PM (Модель презентации) - это хороший способ отделить представление / бизнес и данные и создать экраны, как лучше связать несколько экранов на основе PM? Представьте, что мы разрабатываем модуль чата, как добавить запись «Обсудить с ...» в контекстное меню, которое можно щелкнуть правой кнопкой мыши по списку пользователей?