Вопрос - это скорее лучший способ сделать вопрос, чем реальную проблему.
У меня есть приложение, которое должно получить доступ к базе данных. Поэтому у меня есть класс DatabaseManager
который вызывается каждый раз, когда мне нужно получить доступ к базе данных, а это, например:
DatabaseManager *db = new DatabaseManager;
std::vector<Element> elementVector = db->getAElementsById(id);
И вы одинаково для всех вставляете, обновляете или удаляете запросы.
... что мой файл имеет уже 1200 строк и растет с каждой новой функцией.
Так как делают красивые люди?
Я читал и другие сообщения, но не нашел ни хорошего вопроса, чтобы спросить у Google, либо людей, отвечающих на мой вопрос.
У меня есть модуль базы данных, разбитый на несколько файлов. Например, один файл обрабатывает вставки, другой файл обрабатывает извлечение и третий обрабатывает поиск.
Шахта на самом деле более сложная, но практика должна заключаться в разделении кода на отдельные тематические файлы, предпочтительно не более 300 LOC (Lines Of Code).
Решение, которое я выбрал сейчас, следующее (потому что я слишком ленив, чтобы воссоздать новые классы и т.д.): Я разделил класс на несколько файлов cpp
// DatabaseManager.h
class DatabaseManager
{
//// Getters - in DatabaseManager_getters.cpp
public:
// Movies
Movie getOneMovieById(const int id);
QList<Movie> getAllMovies(const QString fieldOrder = "title");
....
private:
// Other functions for getters
Movie hydrateMovie(QSqlQuery &query);
//// Inserts - in DatabaseManager_insert.cpp
public:
bool insertNewMovie(Movie &movie);
....
private:
bool insertNewTag(Tag &tag);
....
//// Updates - in DatabaseManager_update.cpp
public:
bool updateMovie(Movie &movie);
....
//// Delete - in DatabaseManager_delete.cpp
public:
bool deleteMovie(Movie &movie);
private:
bool deletePeople(const People &people);
};
И, очевидно, файлы.cpp следуют объявленным. Мне легче найти, где функция, и поддерживать код.
В другой раз, я подумаю дважды, если не будет более уместным следовать рекомендациям, которые вы дали.
спасибо снова!