【发布时间】:2019-07-03 05:58:01
【问题描述】:
我希望 adpaters 将一个通用接口传递给购物车服务。我读过接口应该在域层中,而 DTO 应该在服务层中定义,这似乎与我相冲突。您不希望域层引用定义 DTO 的服务层。
我错过了什么?还是可以让接口与服务层中的 DTO 一起使用,就像我在图中那样?
【问题讨论】:
-
如果 DTO 用于多层,通常是这样。然后引入一个包含所有 DTO 类型的项目,并让所有其他项目/层都引用它。
-
接口无处不在,问题只是它们的用途。如果一个接口有一个 DTO 作为其契约的一部分,它应该与 DTO 在同一层中声明,但域层仍然可以有自己的接口来抽象实现、单元测试等。
-
谢谢@DmytroMukalov。如果你想这样回答,我会接受的。
标签: c# interface service-layer