每个服务应调用一个DAO,例如CustomerService-> CustomerDAO或我们可以使用dataService可以调用CustomerDAo和ProjectDAO作为示例

最佳答案

从一个或多个服务调用Dao层没有限制,这取决于当前要求

通常,DAO尽可能轻,并且仅用于提供与DB的连接,有时是抽象的,因此可以使用不同的DB后端。

服务层在那里提供逻辑以对发送到DAO和客户端的数据以及从DAO和客户端发送的数据进行操作。通常,这两部分会捆绑在一起,成为同一模块,有时也捆绑为同一代码,但是您仍然会看到它们是不同的逻辑实体。

如您所说Should each service call one DAO e.g. CustomerService->CustomerDAO or we can use dataService can call CustomerDAo and ProjectDAO as example

因此,如果DataService仅需要来自CustomerDAo的数据(例如客户列表),则这取决于要求,那么您应该直接在DataService中使用CustomerDAO。但是,如果您需要某种计算,或者您的客户数据中存在某种形式,并且该数据存在于CustomerService中(基本上是在Dao相应的Service上实现的某种东西),然后您选择CustomerService。

07-24 19:21