DAO 模式 - 它提供业务对象还是纯数据?

Posted

技术标签:

【中文标题】DAO 模式 - 它提供业务对象还是纯数据?【英文标题】:DAO Pattern - Does it povide Business Objects or plain data? 【发布时间】:2015-03-22 22:36:46 【问题描述】:

我是 DAO 模式、DAL 和领域驱动设计领域的新手。我正在尝试了解 DAO 模式。每个示例/教程都说 DAO 抽象了为多个数据源保存数据的方式。但是使用 DAO 对象的结果是什么?

DAO 是否从数据库中检索总是与一个表完全对应的 pur 数据(列)OR在数据库中并最终提供了一个完整的业务对象?

【问题讨论】:

DAO 不是您通常会在领域驱动设计上下文中找到的模式 - 我建议您看看 Repository 【参考方案1】:

我建议你看看Session Façadepattern。封装业务层组件并向远程客户端公开粗粒度服务很有用。

如this(旧)参考中所述:

【讨论】:

Session 外观是一种更高的抽象层并且很有趣,但我想了解 DAO 的工作方式,以及它们是否参与构建具有已解析引用的业务对象。我想这是一项主要由 ORMs 或在 DDD 上下文中由 Repositories 组装聚合完成的任务。

以上是关于DAO 模式 - 它提供业务对象还是纯数据?的主要内容,如果未能解决你的问题,请参考以下文章

Java中的DAO模式啥是业务对象

[Java] DAO设计模式

DAO 设计模式

DAO设计模式

DAO设计模式

java中的dao模式