У меня есть проект, в котором пользователь может создавать разные объекты. Это приложение имеет несколько подокнов, и некоторые из них могут изменять один глобальный объект. Существует три способа изменить такой объект:Дизайн отношений классов
- Загрузка из объекта базы данных. (window1)
- Измените это с помощью окна с формами (кнопки, lineedit ...) (window2)
- Измените его с помощью графического окна, в котором отображается этот объект (например, с помощью мыши) . (window3)
Логика следующая: если у меня есть загрузка из нового объекта базы данных, она должна обновлять объект в окне2 и окне3. Если я изменил объект через окно2, тогда объект в окне3 должен быть обновлен, а window1 должен быть уведомлен о том, что объект был изменен. Если я изменил объект через окно3, тогда объект в окне2 должен быть обновлен, а window1 должен быть уведомлен о том, что объект был изменен.
Теперь логика следующая: объект хранится в классе с глобальным доступом (singleton). Оконное уведомление выполняется через механизм сигнального слота в qt.
Есть ли другой способ его проектировать?