编程语言
首页 > 编程语言> > c#-使用ASP.NET 5(MVC 6)的N层体系结构

c#-使用ASP.NET 5(MVC 6)的N层体系结构

作者:互联网

我正在阅读有关ASP.NET Core的功能,因此决定将当前的解决方案(MVC 5)转移到MVC 6,但是对于集成DI感到有些困惑.
目前我有这个架构

Current architecture

CemaManager(代表层)具有对Helper,Resource,ViewModel和BLL的引用.
Bll引用了ViewModel,Database和DLL.
DLL引用了数据库.

使用DI和存储库模式的典型N层体系结构.

当我调查MVC6时,有DI初始化的startup.cs.
那意味着如果我要分离BLL和DAL,它们将全部引用MVC6,并且所有逻辑都将通过该层?到那时,它将变得沉重,难以维护和扩展,还是我错了?

有什么方法可以将startup.cs或DI方法导出到另一层?
也许有人知道要阅读的文章或示例?

解决方法:

就个人而言,我会更改整体结构,但我猜测全面的设计审查并不是您真正想要的.关于您的实际问题,不,您的其他层不需要引用MVC.

对于大多数任何应用程序,都需要在表示层中配置和初始化IoC.最终,您的表示层需要一个引用链(直接或间接引用)到您想要注册的所有内容,但这始终是正确的.

您已经在引用Helpers,Resource,ViewModel和BLL,因此可以轻松在这些层中注册接口的实现.您还可以添加对DLL的引用,以从该层注册实现.

您还可以使用间接路由,并在每层中添加一个类,该类引用您的IoC容器并处理其自己的注册.在Autofac中,这是使用modules完成的,但是也存在使用其他IoC容器完成相同任务的等效方法.

标签:asp-net-core,asp-net-core-mvc,n-tier-architecture,c,asp-net-mvc
来源: https://codeday.me/bug/20191026/1939720.html