如何在C++中实现一个健壮的数据持久层

How do I implement a robust Data Persistence Layer in C++?

本文关键字:一个 数据 C++ 实现      更新时间:2023-10-16

我第一次用C++为我的公司创建一个巨大的程序,我想创建一个好的模式来连接到我的MySql数据库。我有这些问题:

-我无法决定应该使用哪种模式,DAO,存储库,UnitOfWork,工厂。。

-我找不到C++中数据访问模式的好例子,我知道它应该独立于语言,但我甚至找不到一个健壮的具有良好异常处理等的DAO模式示例。通常有在非常小的环境中只有两个类(obj1->obj2)。

如果有人知道好的来源或任何提示,我会非常高兴=D

提前谢谢。

我的建议是搜索c++ORM(对象关系映射)在java上有很多ORM或DAL解决方案,比如Hibernate、Datanucleus、SQLite。。

我们正在使用Datanucleus,我们对此很满意,但我认为Datanucles不支持c++。Imho从零开始创建DAL是不必要的。

我几年前也遇到过同样的问题。维基百科中C++的ORM列表很短,最有前途的产品是GPL,否则你必须购买它。

我们决定开发自己的ORM。它有几种企业设计模式。我们选择obd使用的方式:您的表是从简单的类中描述的。对象的持久性和访问是从数据库管理器中处理的。最昂贵的方法是编写自己的查询接口(如果您不想在代码中键入clear-sql)。