【问题标题】:What database abstraction patterns are there?有哪些数据库抽象模式?
【发布时间】:2016-05-31 16:53:58
【问题描述】:

我试图了解数据库抽象的常见模式。

到目前为止,我发现:

  1. 数据库层
    • 只是一个保存 SQL 的单独类
    • 不符合任何其他规则
  2. 数据访问对象 (DAO)
    • 和上面一样,但是有一个传输对象代表数据库表的列
    • 创建、删除、更新方法以填充的传输对象为输入
    • find 方法可以接受字符串 (findByName) 或整数 (findByAge) 之类的输入,但始终返回传输对象列表
  3. 存储库
    • 对象集合的抽象
    • 更接近领域模型
    • 我需要在这里阅读更多内容
  4. 对象关系映射器
    • 工具,它为我提供了一个在后台映射到数据库表的对象
    • 对象代表表格中的一行
    • 对象的属性更改导致更新

请不要太担心我对模式的快速解释。我还处于理解阶段。

但是这个列表是完整的还是这里缺少其他概念?

【问题讨论】:

  • 嗨,戴夫,我刚订购了这本书。谢谢你的建议。

标签: database design-patterns orm repository-pattern dao


【解决方案1】:

Martin Fowler's "Patterns of Enterprise Application Architecture" 是一本优秀的书,在社区中备受推崇,其中记录了大约 50 种设计模式,其中大约一半与数据库交互有关。它包括存储库、几种 DAO(或多或少涵盖了您的数据库层和 DAO)以及在对象关系映射器中发现的几个完整类别的模式。所以有一个很好的起点。

如果不简单地重复模式列表,很难在此答案中总结 POEAA 的任何内容。幸运的是the list can be found at Fowler's web site。不幸的是,那里的版权符号表明我不应该只在此处包含它。

【讨论】:

  • 我这周收到了这本书。这正是我正在寻找的东西,就像我研究过的所有福勒书籍一样,我读起来并不有趣。 Tnx 再次推荐这个好建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 2019-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多