В моем текущем проекте мы используем для нашего клиента Swing следующие шаблоны:
Бизнес-объект (POJO) <-> (отображение) <-> Модель представления (POJO с поддержкой изменения свойств) <-> (привязка) <-> просмотреть компоненты
Все хорошо и работает так, как мы ожидаем, что они будут себя вести.
НО, мы приветствуем те проблемы, когда вид начинает расти:
- Многие события запускаются, что приводит к каскадным событиям. Одно обновление поля может привести к десяткам последующих обновлений свойства
- Когда сложность диалога возрастает, число слушателей также увеличивается, и код начинает быть грязным и трудным для понимания.
Редактировать после первого ответа:
- Мы не запускаем событие, если нет изменений по значению.
- Мы не добавляем слушателя, если он нам не нужен.
У нас есть экран с очень сложными правилами и с необходимостью уведомления от других связанных панелей. Таким образом, у нас есть много полезных слушателей, и одно изменение пользователя может вызвать много основных событий.
Идея связать модель представления с бизнес-моделью для нас не очень хороша: мы выполняем некоторый код в процессе отображения.
Я ищу руководства, советы, рекомендации и т. Д. По созданию поддерживаемого приложения Swing, особенно для управления событиями.