繁体   English   中英

依赖倒置VS返回的数据类型[关闭]

[英]Dependency Inversion VS returned data types [closed]

我没有找到我的问题的答案,所以如果已经有这样的问题,请指出正确的方向。

假设项目结构如下:

  • DBProject(带有 DBContext + Entities + Repositories + Repository 接口)
  • ServiceProject(与 DBProject 一起使用的服务、一些 Email 提供程序项目、一些天气提供程序项目等)
  • MainProject(使用 API 控制器,验证等)

一些用户数据的 GET 请求的简单流程:

  1. 在控制器的操作中:_userService.GetSomeData(request.SomeData); (_userService 是注入的接口,其实现在带有接口的 ServiceProject 中)
  2. 在 GetSomeData 的 Service 项目中,我执行了一些逻辑,我正在调用 _userRepository.GetUser(someValueHere) -> 同样的情况,这是从 DBProject 注入的接口;

我的问题:

  1. DBProject 正在返回例如 UserEntity(这是实际的表 class - EF Core 从中生成表); 这个 object 正在传递给 ServiceProject; 所以 ServiceProject 正在“看到”在 DBProject 中定义/创建的 UserEntity。 如何解决这个问题? 或者也许这完全没问题?
  2. ServiceProject 也是如此,它将 ServiceProject 中定义的一些 object 返回到 MainProject - 因此 MainProject “看到” object 并从 ServiceProject 键入。

我有依赖倒置,接口被注入控制器/服务等。实现是在某些项目中完成的(存储库在 DBProject 中实现,服务在 ServiceProject 中实现)但这些项目仍然与 object 类型“连接”这些接口正在返回。 所以用户实体(表对象)被返回到服务层——这就是我认为的问题,对吗?

如何解决此类问题?

我很抱歉问这个问题,也许这是一个愚蠢的问题,但我无法正确地将它全部放在我的脑海中 - DI,接口等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM