我正在开发一个C++域模型类库,该库应提供一些工具或框架(即接口(interface)类等),以将类实例数据写入二进制文件和RDBMS或从中读取类实例数据。该库的基础是使用RDBMS的应用程序,并且有几种方法可以通过执行一系列数据库检索和更新调用以获取成员数据集合来实例化类。序列化的数据访问具有一种不同的方式来组织其数据,因此我希望域模型完全不了解主键/外键,ID等。
为了解决这个问题,我考虑使用Data Access Object(DAO)模式,并希望对DAO对象的“粒度”,生存期和使用提出一些建议(在您的答复中,请注意,我将使用C++,而不是Java,并且该域类无法保存RDBMS或二进制文件存储中的任何ID /密钥信息):
谢谢你的帮助!
最佳答案
我没有适合您的解决方案,但是我可以告诉您我所拥有的以及一些想法和经验。我已经基于以前使用的模型(作为C++库)构建了非常相似的东西。
一些想法,没有特别的顺序:
在DAO类之上,我构建了更多可访问的类,这些类代表应用程序中的数据,并且可能(也可能不)将1-1映射到DAO类。它们被允许具有任何类型的成员和结构,被假定为应用程序所使用的成员,并具有将数据复制到作为其基础的DAO类/从DAO类复制数据的方法。
希望能有所帮助。
关于c++ - 如何使用数据访问对象进行序列化和关系数据库数据访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/197509/