DAO 类属于 Web 应用程序的 3 层架构中的哪一层?

Posted

技术标签:

【中文标题】DAO 类属于 Web 应用程序的 3 层架构中的哪一层?【英文标题】:In which layer do DAO classes belong in a 3-tier architecture of a web app? 【发布时间】:2020-12-24 02:57:32 【问题描述】:

让我们考虑一个 BookDAO 类,例如,它需要用每本现有书籍填充一个列表。在我看来,这个类属于最低层(数据访问层),但我也将它视为中间层(业务逻辑)的一部分。以上哪个是正确的?

【问题讨论】:

【参考方案1】:
    将 DAO 保留在业务层会对系统的完整性产生负面影响。问题之一是数据的安全性。 API 通常与业务逻辑交互。混合业务逻辑和 DAO 可以直接访问 API 的数据。 假设您需要类似数据用于业务逻辑中的各种操作。将 DAO 保留在数据访问层将有助于对两个操作使用相同的数据检索。

【讨论】:

以上是关于DAO 类属于 Web 应用程序的 3 层架构中的哪一层?的主要内容,如果未能解决你的问题,请参考以下文章

java web开发时dao和model层里写啥内容

使用工厂模式与泛型对三层架构的每一层进行解耦

java中的Dao类是啥意思?

DAO设计模式

DAO设计模式

DAO模式设计步骤