Структура проекта Qt - совет требуется

В настоящее время я работаю над проектом, основанным на Qt4 / QtCreator. Хочу попросить совета, как оформить мою заявку.

  • Есть 3 отдельных инструмента, у каждого свой вид. Все представления интегрированы в главное окно в виде незакрываемых вкладок. Я подготовил 3 представления: Tool1View, Tool2View, Tool3View

  • Предполагается, что каждый инструмент выполняет некоторую задачу, запускаемую действиями пользователя. Но это не операции, связанные с базой данных (список / добавление / изменение ...) - по крайней мере, пользователь не собирается добавлять / изменять / перечислять записи в элементах графического интерфейса.

Я думаю реализовать каждый инструмент в 2-х классах:

  • Первоклассный ToolXView, реализующий виджет и все задачи, связанные с изменениями графического интерфейса.

  • Второй класс ToolX, реализующий логику приложения. Функции-члены этого класса запускаются классом View. Всякий раз, когда этому классу необходимо обновить элементы графического интерфейса, он вызывает специализированные функции в классе View. Таким образом, отсюда не производятся прямые вызовы виджетов.

Класс представления и класс логики будут связаны друг с другом для обеспечения двусторонней связи.

Теперь мне интересно, хороший ли это способ. Пожалуйста, посоветуйте мне, основываясь на своем опыте.

  1. Я планирую инкапсулировать указатель на логический класс как свойство класса представления и указатель на вид как свойство класса логики. Таким образом, я планирую интегрировать их.

  2. Следует ли мне использовать сигналы / слоты для обеспечения связи или просто вызывать функции-члены?

  3. Мне придется хранить некоторые данные в базе данных QtSql. Должен ли я предоставить отдельный класс для доступа к базе данных. Или просто реализовать отдельные функции-члены внутри класса Logic?

  4. Как вы называете свои классы. Эта схема хороша или мне стоит ее изменить?

Спасибо за помощь. Я признателен за ваши комментарии.

7
задан 29 March 2011 в 11:47
поделиться