我有一个负责我的数据访问的存储库层,它由服务层调用。服务层返回被序列化并通过线路发送的 DTO。通常,服务只是访问存储库并返回存储库返回的任何内容。
但要使其正常工作,存储库必须返回该 DTO 的实例。否则,您首先必须将存储库返回的数据层对象映射到服务层中的 DTO 并返回。这似乎很浪费。
最重要的是,如果 DTO 的创建发生在服务层中,以前可能在一个存储库调用和一个数据库查询中完成的事情,现在必须通过服务层中的多个存储库调用来“组合”最终 DTO。当然,除非我在数据和服务层之间创建一个可以包含这样一个组合对象的传输对象。然后必须将其映射到 DTO 。为了纯洁,这似乎是浪费。但是让存储库层返回刚刚存在的对象以通过网络发送也感觉不对。