【发布时间】:2016-09-08 20:00:54
【问题描述】:
我了解 DI 和 IoC,但我似乎无法了解如何在 nTier 应用程序中实现它。这是我尝试使用一个域对象构建的简单 MVC 应用程序。
层:DAL 和 UI 将引用 BLL 层。 DALUI
DAL 将包含 EntityFramework、SQLBlogRepository、Blog.cs 和 Mapper BAL 将包含 IBlogRepository,域对象:Blog.cs UI 将实现 IBlogRepository 的 Constructor DI
这就是我卡住的地方。如何使用 Ninject 让构造函数知道使用了 SqlBlogRepository 实现?我还遇到了一些使用“Composition Root”的例子,这增加了更多的混乱。然后是使用存储库模式的示例。底线是,我正在尝试实现一个松散耦合并使用 IoC/依赖注入的 nTier MVC 应用程序。请帮我规划一下如何从 UI 层进行调用并让 DAL 层通过 BLL 层返回数据,而所有三层都是松散耦合的。
【问题讨论】:
-
你看过the onion architecture吗?将您的依赖项,即 DAL、其他基础设施放在外部,并将它们注入核心(域/BLL)。也发现了这个:codeproject.com/Articles/808400/…
-
谢谢 Mark C。我一定会阅读有关洋葱架构的信息并查看示例。我真的很感激。
标签: c# dependency-injection asp.net-mvc-5 ninject inversion-of-control