Я столкнулся с проблемой того, как я должен проектировать свои классы в Qt, чтобы предотвратить грязный код.
В моем MainWindow есть много Buttons
, Labels
и других виджетов.Я не хочу делать его слишком большим, и я хочу обрабатывать обратные вызовы нажатий кнопок в отдельном классе.
Проблема в том, что я хочу передать всю информацию о Button
нажатиях иСтроковые записи в LineEdits
для класса максимально просты.Итак, я создал класс (Data
), который просто хранит данные.
Другой класс в моем тестовом коде называется MainModule
, и он просто выполняет основной цикл и получает результаты кнопкипрессы.Кроме того, я должен отправить изменения, в зависимости от того, что произошло в MainModule
, обратно, чтобы я мог установить Labels
и так далее.Я сделал это с классами MainWindow
и MainModule
с указателем на класс данных.
Класс 4 и класс 3 - это только некоторые примеры классов, которые выполняют некоторые другие функции вокруг моего MainModule
.Кому-то нужно больше данных, а кому-то меньше, поэтому у них либо есть ссылка на Data
, либо они просто передают им некоторые переменные.
Другая проблема, с которой я столкнулся, заключалась в сохранении и загрузке данных.Я должен многое изменить в моих классах, когда я добавляю кнопку или ярлык.Я хочу избавиться от этой высокой связи, не принимая на себя ответственность за класс MainWindow
.
Я также слышал о модели проектирования модель-представление-controller (MVC), который легко справится с этим, но проблема здесь в том, что я не понимаю, как его использовать, когда у меня проблема, что мой MainWindow
- это View, но также обрабатывает все элементы управления вв то же время?