【发布时间】:2019-05-13 22:18:09
【问题描述】:
我一直在研究和实施称为洋葱架构 (http://jeffreypalermo.com/blog/the-onion-architecture-part-3/) 的模式。
如果我理解正确,我会怀疑以下几点:
所有接口都在核心程序集中定义。实现可以在其他程序集中实现,并将与 IOC 容器链接。
既然所有接口都在 Core 中定义,并且所有程序集都引用 Core,这是否意味着每个程序集都可以访问每个接口?
即理论上,您可以将 UI 服务导入 DAL,因为 DAL 可以访问 UI 服务接口并将其由 IOC 容器解析。
这不是有点破坏分层设计的目的吗?在传统模型中这是不可能的,因为 DAL 程序集不引用 UI 程序集。
我是否误解了某些东西,或者这种“滥用”在 Onion 架构中是否可能与正常的 N 层架构相反?
【问题讨论】:
标签: architecture onion-architecture hexagonal-architecture