gpt4 book ai didi

jakarta-ee - 谁来验证我的 DAO 的输入?

转载 作者:行者123 更新时间:2023-12-01 12:50:46 25 4
gpt4 key购买 nike

我是企业设计模式的新手。我被告知数据访问对象不应该验证它们的输入。如果假设其他层执行验证,那么该层不需要知道所有数据库详细信息,例如表名等等吗?这不会因为破坏封装而破坏拥有 DAO 的目的吗?

也许我对 DAO 责任的理解是错误的,服务层也应该了解数据库,但这似乎很奇怪。目前我的数据访问对象只执行 CRUD 操作。

注意:我使用的是普通的 servlet,没有 MVC 框架或持久性框架。

最佳答案

一个普通的 3 层应用程序有一个接口(interface)层、一个业务层和一个数据层。数据层通常是覆盖在数据库上的非常薄的一层,通常不做任何验证,除了有时它会验证 varchar 列的字符串长度。
任何业务验证(例如用户名中没有数字或密码中不允许有空格)都将在界面层(出于性能原因)和业务层进行。如果您在某处找到示例 Web 应用程序,他们应该能够相当清楚地展示这一点。

关于jakarta-ee - 谁来验证我的 DAO 的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12532914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com