Я работаю над проектом C ++ / Qt. У меня есть две бизнес-модели (одна представляет собой иерархическую древовидную структуру, т.е. категории / подкатегории фильмов, а другая - простой вектор, т.е. названия фильмов, которые могут принадлежать только подкатегории), и я хочу отобразить обе уникальное древовидное представление, где листовые узлы могут принадлежать обеим моделям, а неконечные узлы принадлежат первой модели. В дополнение к этому представлению я также хочу отобразить в представлениях, специфичных для модели, древовидное представление для первой модели и представление списка для второй.
Я рассмотрел 3 подхода:
1) Создайте одну QAbstractItemModel для каждой бизнес-модели и другую для представления смешанной модели. Таким образом, каждый вид связан только с одной моделью.
2) Создайте только два QAbstractItemModel для каждой бизнес-модели и реализуйте специальное представление, которое имеет дело с этой информацией.
3) Используйте модель QStandardItem и реализуйте подклассы QStandardItem для обоих элементов моей бизнес-модели.
Поскольку я работаю с внешними данными, я не хочу дублировать любую информацию, если это возможно.
Какой, по вашему мнению, лучший / правильный подход? Любые советы по реализации?