Я внедряю приложение, похожее на Facebook, в Qt5.Сейчас в моем приложении я просто хочу просматривать профили людей, добавлять новые и просматривать подробную информацию о профиле.Я выбрал MVC для моего приложения.Я хочу знать, как представления / контроллеры могут взаимодействовать с модельными классами
Это то, что я имею до сих пор: у меня есть несколько классов представления / контроллера (поскольку QT, кажется, объединяет оба):
- SingleProfileView (QWidget) <- показать 1 профиль </li>
- MainView (QWidget) <- основной вид с опциями навигации ..etc </li>
- ProfileListView (QWidget) <- Который показывает список всех профилей в моем приложении на данный момент </li>
Каждое представление реализовано с использованием составных виджетов
- ProfileView (QWidget) имеет сложенный виджет внутри, содержащий виджетыProfileListView и SingleProfileView
- Mainview (QWidget) имеет составной виджет, который содержит ProfileView
Это мои классы данных
- ProfileModel <- данные одного профиля</li>
- ProfileListModel <- Список всех профилей (содержит много профилей) </li>
- AppModel <- Содержит ProfileList </li>
AppModel загружает данные из SQL DB и функции DB являются абстрактными.
Последний класс, который является «основным классом»
- MyApp <- класс, который имеет все представления и данные (я бы назвал это контроллером) </li>
Как я могу передавать данные между AppModel и представлениями?
Я думал о том, чтобы класс модели был одноэлементным классом, и все представления, которым нужен класс модели, просто получают его экземпляр?
То, о чем я говорю, можно найти здесь: https://doc.qt.io/archives/qq/qq10-mvc.html
Меня беспокоит слишком сильное соединение классов модели и вида / контроллера?Это похоже на игру с глобальной переменной.