Архитектура программы (на C++) которая может работать (быть скомпилирована) как с GUI (Qt) так и без него, без потери работоспособности?
Как правильно написать программу (спроектировать) (на C++) которая сможет быть скомпилирована как с графическим интерфейсом (Qt) так и без него, без потери работоспособности? Хочется полностью отделить часть с библиотекой Qt. Приведите минимальный пример если возможно.
Ответы (1 шт):
Сложно немного понять что вы имели ввиду. Если у приложения правильная архитектура то зачастую "бизнес-логику" отделяют от представления, его выделяют как ядро, но само по себе оно не будет работать. Сам графический интерфейс выступает в роли связующего звена между обычным пользователем и программой. Можно почитать например про паттерн MVC.
С другой стороны вы говорите о раздельном запуске, но раз вы хотите чтобы она работала то и подавать данные как-то надо, остается командная строка. Значит вы должны написать обработчик для работы с командной строкой.
Если взять пример, первое что пришло в голову это GIT. У него есть множество графических интерфейсов, но можно и через командную строку работать без любый доп. утилит.