【发布时间】:2013-04-02 17:35:27
【问题描述】:
如果我在 ASP.NET MVC 应用程序中使用存储库模式,我需要 DI 让程序知道,必须映射类来接口。如果我实现 Unity,我需要将 DAL 项目添加到我的 MVC 项目中,然后在 global.asax 中注册类型。
在我看来,我认为将 DAL 层的命名空间添加到 MVC 项目中是不好的,中间还有一个业务层。我认为,在业务层中注入 DAL 类并且只在 MVC 应用程序中注入业务层映射会很漂亮。
去这里的路是什么?你有什么建议吗?
更新: 让我明白。在服务层,只有 DTO 和业务和数据访问层的 DI。在服务层中,我将 DTO 映射到域模型。我不明白的是,那我怎么调用业务层的方法呢?
【问题讨论】:
-
使用 repo 并不意味着你必须使用 DI - 它们解决了两个不同的问题。
-
我建议阅读“洋葱架构”,我认为这是项目参考的好方法。因为你的 UI 和 DataAccess 层都在外面,所以它们相互引用应该没有任何问题。
标签: c# asp.net-mvc dependency-injection