Название: Работа с БД Отправлено: And_Y от Июнь 13, 2013, 09:14 Подскажите, пожалуйста. Уже совсем запутался.
Я организовал подключение к БД через специальный объект и потом это подключение ссылку раздаю всем другим объектам. Но зачастую просто непонятно как передать эту ссылку и как то не очень удобно получается явно везде ее пересылать. Я новичок в QT, да и на C++ очень давно писал. ООП вспоминаю на рабочем проекте. Что я делаю не так? Может есть какие то более простые решения? Например соединение по умолчанию для всего приложения, чтобы не передавать его всем и каждому, а то мне даже в сигналах приходится его пихать. Заранее спасибо. Название: Re: Работа с БД Отправлено: Bepec от Июнь 13, 2013, 09:46 Есть такое понятие - синглтон.
Это глобальный класс, который как раз и содержит необходимые объекты, к которым может обратиться любой другой класс. И да, исходя из названия он должен быть один в программе ;) Название: Re: Работа с БД Отправлено: And_Y от Июнь 13, 2013, 10:19 А какого то стандартного алгоритма реализации работы с СУБД не существует? :-)
Посмотрел на синглтоны... Даже не знаю, можно попробовать конечно, но тоже придется ссылкой тыкать везде на него? Название: Re: Работа с БД Отправлено: mutineer от Июнь 13, 2013, 10:19 А какого то стандартного алгоритма реализации работы с СУБД не существует? :-) Посмотрел на синглтоны... Даже не знаю, можно попробовать конечно, но тоже придется ссылкой тыкать везде на него? Какой еще ссылкой? Название: Re: Работа с БД Отправлено: Bepec от Июнь 13, 2013, 10:37 Вы в любом случае будете тыкать ссылкой. Даже если в каждом классе будете создавать свой коннект к БД. Вас это смущает, или это опять из теории "надо перехватывать нажатия, не перехватывая нажатия" © ?
Название: Re: Работа с БД Отправлено: And_Y от Июнь 17, 2013, 08:35 А можно вообще пример как мне строить работу объектов и программы в целом?
Т.е. мне нужно создать объект, который устанавливает соединение с базой и потом все пользуются этим соединением, или он должен выполнять запросы, которые передаются ему от других объектов? Название: Re: Работа с БД Отправлено: Serr500 от Июнь 17, 2013, 08:59 Синглтон Майерса (http://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%B8%D0%BD%D0%BE%D1%87%D0%BA%D0%B0_%28%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29), например. Первое обращение вызовет инициализацию объекта, во все cpp-файлы включаете хидер файла класса синглтона и получаете указатель на объект через метод instance().
Название: Re: Работа с БД Отправлено: And_Y от Июнь 17, 2013, 09:29 Спасибо. Пошел пробовать.
|