шаблоны проектирования — как реализовать надежный уровень сохраняемости данных в C ++?

Я впервые создаю огромную программу на C ++ для своей компании и хочу создать хороший шаблон для подключения к моей базе данных MySql. У меня есть эти проблемы:

-Я не могу решить, какой шаблон следует использовать, DAO,
Репозиторий, UnitOfWork, Фабрика.

-Я не могу найти хороших примеров шаблона доступа к данным в C ++, я знаю, что он должен быть независимым от языка, но я не смог найти даже надежного
Пример шаблона DAO с хорошей обработкой исключений и т. Д.
только два класса (obj1-> obj2) в очень маленькой среде.

Если кто-то знает хорошие источники или какие-либо советы, я буду очень рад = D

Заранее спасибо.

2

Решение

Мой совет — поиск c ++ ORM (Object Relational Mapping). На Java есть множество решений ORM или DAL, таких как Hibernate, Datanucleus, SQLite.

Мы используем Datanucleus, и мы довольны этим, но я не думаю, что у datanucleus есть поддержка c ++. Имхо создание DAL формы нуля не нужно.

1

Другие решения

У меня была такая же проблема много лет назад. Список ORM для C ++ в Википедия очень короткий и самый перспективный продукт находится под лицензией GPL или вы должны купить его.

Мы решили разработать собственную ORM. Для этого есть несколько шаблонов корпоративного дизайна. Мы выбираем путь БДС Использование: Ваши таблицы были описаны из простых классов. Постоянство и доступ к объектам обрабатываются из менеджера баз данных. Самым дорогостоящим делом является написание собственного интерфейса запросов (если вы не хотите набирать в своем коде clear sql).

1