gpt4 book ai didi

java - DAO 和服务?

转载 作者:IT老高 更新时间:2023-10-28 13:48:50 25 4
gpt4 key购买 nike

我总是面临一个问题,即我无法真正想到封装许多 DAO 方法的服务对象。

我的意思是,对于我的 servlet,有时使用单个 DAO 方法就足够了,例如 addUser(User params)。

更好的做法 - 用服务对象封装 DAO 方法并始终只使用服务对象,即使它的字面意思是单个服务方法调用单个 dao 方法或将它们混合在一起使用(一些方法来自服务对象,一些来自服务对象servlet 上下文中的 dao)——这意味着我在 Controller 内部有 Autowiring 的 DAO 和服务对象?

如果我开始在同一个地方同时使用 DAO 和 Service 对象,它会混淆逻辑吗?

最佳答案

我认为这取决于情况。如果没有 DAO 会导致业务逻辑和数据访问逻辑混在一起,那么最好有单独的类。

但是,如果您的 DAO 是“虚拟的”并且只是调用 EntityManager 方法,您可能可以直接在您的服务对象中使用它。这个想法是让类具有 single responsibilities并且易于扩展和测试。你不应该为了它而创建图层。

如果您想保留可重用的服务层,我可能不会直接从您的 Controller 中使用 DAO。如果 DAO 没有意义,我宁愿在服务层使用 EntityManager(或您正在使用的任何持久性策略)。

关于java - DAO 和服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8273455/

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