Подскажите пожалуйста, как правильно делать? Ситуация: в приложении 5 сущностей.

Из разных частей программы и из разных потоков необходимо добавлять/изменять сущности.
У меня есть класс-синглтон который работает с БД (создает коннект, создает таблицы, если их нет).

Как правильно организовать класс(ы), который будет работать с сущностями:
1) Напихать методы работы с сущностями в тот же класс, где создается коннект? (но я считаю, что это неправильно)
2) Создать еще один синглтон, в который передавать экземпляр QSqlDatabase?
3) что-то другое?

Наверное, коряво сформулировал, но надеюсь вы меня поймете)

4 ответов

3 просмотра

создай класс-контроллер, который будет ответственнен за синхранизацию данных с разных потоков и будет отправлять запросы

https://youtu.be/jw3f8OrjYT0?list=PLmqFxxywkatStbd9hdzVOS1hZa9dc56k4&t=378

Очень коряво, и не понятно . Делай как придумаешь, потом переделаешь... Не забудь только синхронизировать доступ к данным через мьютексы

В тривиальном случае в каждой сущночти - по мьютексу и все методы - через него.

Похожие вопросы

Обсуждают сегодня

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
А вот из практических задач на работе, кто работает расскажите относительно задач на работе, как вообще выживаете. Если есть желание, интересно тоже что и как сейчас с этим . ...
...
2
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Привет. На сайте с видео установлена защита, не позволяющая скачивать видео, делать скриншоты и скринкасты, но это работает только с пк и устройств эпл. С андроида работают ск...
Lencore
1
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Добрый день! Кто-нибудь знает как подключить твиг в контроллеры плагина?
Николай Афанасенко
5
@dblackCat Привет. Это же твой плагин? https://octobercms.com/plugin/catdesign-productbundle
Alexey Yakimov
5
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Карта сайта