我想在C ++中实现数据访问对象模式,但最好不要使用多继承和/或boost(我的客户端不喜欢)。
你有什么建议吗?
答案 0 :(得分:5)
OTL(otl.sourceforge.net)是一个优秀的C ++数据库库。它是一个单独的包含文件,所以没有与Boost相关的所有复杂性(正确或错误!)。
就DAO而言,您有很多选择。隐藏数据库实现的最简单方法就是使用C ++样式接口并在特定实现中实现数据访问层。
class MyDAO { // Pure virtual functions to access the data itself } class MyDAOImpl : public MyDAO { // Implementations to get the data from the database }
答案 1 :(得分:3)
对数据访问对象设计模式的快速谷歌搜索将在第一页上返回至少10个有用的结果。其中最常见的是Jeff Foster已经展示的抽象界面设计。您可能希望添加的唯一内容是用于创建对象的数据访问对象工厂。
我用大量代码找到的大多数例子都是用Java编写的,它是Java中常见的设计模式,但它们仍然与C ++非常相关,你可以很容易地使用它们。
This is a good link,它很好地描述了抽象工厂。
答案 2 :(得分:1)
我首选的数据访问抽象是Repository Pattern。