解决依赖问题

Solving a dependency issue

看看下图...

箭头显示了每个程序集的依赖关系。

在可能的情况下,我正在尝试将一层到另一层的 'contamination' 保持在最低限度,我认为我做的还不错。

我的服务层知道业务实体,DAL 后来知道数据传输对象,我使用转换器在必要时转换类型。

如您所料,服务实现需要通过接口对 DAL 进行调用,而这正是我遇到的问题。即使我使用翻译器,服务实现仍然需要了解 DTO 中定义的类型(或者,DAL 需要了解 BE)。

有解决办法吗?

如果不是,我认为 'contamination' 的最低级别是通过允许服务 实现 依赖于 DTO 来实现的吗?

如果有人对这个问题有任何想法,我很乐意听取他们的意见。

似乎某些 'contamination' 是不可避免的,并且这样做至少将其减少到最低限度。