我一直在研究和实现被称为洋葱架构(http://jeffreypalermo.com/blog/the-onion-architecture-part-3/)的模式。
如果我理解正确,让我质疑的一件事是:
所有接口都在核心程序集中定义。实现可以在其他程序集中实现,并将与 IOC 容器链接。
由于所有接口都在 Core 中定义,并且所有程序集都引用 Core,这是否意味着每个程序集都可以访问每个接口?
即,理论上您可以将 UI 服务导入 DAL,因为 DAL 可以访问 UI 服务接口并将其由 IOC 容器解析。
这不是有点破坏分层设计的目的吗?在传统模型中,这是不可能的,因为 DAL 程序集不引用 UI 程序集。
我是否误解了某些东西,或者这种“滥用”在 Onion 架构中是否可能与普通的 N 层架构相反?