我正在尝试为 ASP.Net MVC 5 项目实现 Onion 架构。我已经看到了应该注入服务而不是实例化服务的观点,如果我错了,请纠正我,Jeffrey Palermo 表达的想法(http://jeffreypalermo.com/blog/the-onion-architecture-part-3/)是任何外层都应该能够直接调用任何内层。所以我的问题是
- 洋葱架构可以在没有 IOC 的情况下工作吗?如果可以,是否理想?
- 假设我们使用 IOC,如果 UI 不应该知道域服务的实际实现,我们是否应该将相同的原则应用于域模型本身,例如将模型注入 UI 而不是直接引用它们?
我理解为什么某些解决方案将 IOC 应用于域服务但直接在控制器中访问域模型。