Asp.net mvc Asp.net MVC分层体系结构

Asp.net mvc Asp.net MVC分层体系结构,asp.net-mvc,n-tier-architecture,Asp.net Mvc,N Tier Architecture,我是Asp.net MVC新手。我使用数据源创建了MVC应用程序,但我希望MVC应用程序使用n层体系结构。与Asp.net应用程序一样,它们通常有表示层业务层和数据层 我想使用n层体系结构创建mvc应用程序…任何遵循mvc n层体系结构的帮助或演示链接。您的ASP.NET mvc控制器可以与您的n层应用程序中的任何类进行对话 例如,您的ProductsController将调用您的ProductsBusiness层,该层将调用您的ProductRepository,然后查询数据库 你的控制器应该

我是Asp.net MVC新手。我使用数据源创建了MVC应用程序,但我希望MVC应用程序使用n层体系结构。与Asp.net应用程序一样,它们通常有表示层业务层和数据层


我想使用n层体系结构创建mvc应用程序…任何遵循mvc n层体系结构的帮助或演示链接。

您的ASP.NET mvc控制器可以与您的n层应用程序中的任何类进行对话

例如,您的
ProductsController
将调用您的
ProductsBusiness
层,该层将调用您的
ProductRepository
,然后查询数据库

你的控制器应该是这样的,所以里面不应该有太多的逻辑。一种看待它的方式是想象你必须替换整个ASP.NET MVC UI层,因此你想要重用的任何东西都应该放低一点。另一种可视化方法是想象编写第二个UI,它需要重用业务层来完成所有相同的事情

因此,MVC应用程序中的控制器位于其他n层之上。

提供了许多不同模板的n层应用程序示例

很快,大多数模板都具有类似的结构:

数据-数据层

  • 数据库表的项目包含数据库上下文和迁移的配置

  • 数据库抽象级别项目-包含数据库上不同抽象级别的实现,如工作单元和存储库模式

  • 数据库模型的项目-包含所有数据库模型,包括从web项目中移动的ASP.NET标识中的数据库模型

  • 服务-逻辑层

    • 包含应用程序的业务逻辑
    测试

    工具

    • 这里可能会创建不同的控制台应用程序,如爬虫程序、导入程序等
    Web工具-Web应用程序层

  • web应用程序的项目-这是一个经典的MVC项目,它去掉了Db上下文依赖关系和Db模型依赖关系。包含依赖项注入、自动映射和其他外部库的配置。该体系结构应该使您的所有控制器操作非常微小,并在服务中执行所有业务逻辑,这些服务由您的IoC(控制反转)容器注入。在我们的例子中,这是Autofac

  • web应用程序基础架构项目-此项目包含与web应用程序相关的源代码,但可能是可重用的,这就是它被web应用程序分隔的原因。 例如,在这里,我们可以放置视图模型、自定义过滤器和注释、html扩展方法和帮助程序等


  • .将stackoverflow用作搜索引擎或培训网站是不公平的。