4

我想在 C++ 中实现数据访问对象模式,但最好不使用多重继承和/或提升(我的客户不喜欢)。

你有什么建议吗?

4

3 回答 3

5

OTL (otl.sourceforge.net) 是一个优秀的 C++ 数据库库。它是一个单独的包含文件,因此没有与 Boost 相关的所有复杂性(正确或错误!)。

就 DAO 本身而言,您有很多选择。隐藏数据库实现的最简单方法就是使用 C++ 样式接口并在特定实现中实现数据访问层。

类 MyDAO {
  // 纯虚函数来访问数据本身
}

类 MyDAOImpl :公共 MyDAO {
  // 从数据库中获取数据的实现
}
于 2008-09-22T18:46:36.837 回答
3

对数据访问对象设计模式的快速谷歌搜索将在第一页上返回至少 10 个有用的结果。其中最常见的是 Jeff Foster 已经展示的抽象界面设计。您可能希望添加的唯一内容是创建对象的数据访问对象工厂。

我能找到的大部分代码都不错的例子都是用 Java 编写的,这是 Java 中的一种常见设计模式,但它们仍然与 C++ 非常相关,你可以很容易地使用它们。

这是一个很好的链接,它很好地描述了抽象工厂。

于 2008-09-22T23:30:34.050 回答
1

我首选的数据访问抽象是存储库模式

于 2008-09-25T20:27:27.397 回答