Asp.net mvc ASP.NET MVC开发分层体系结构

Asp.net mvc ASP.NET MVC开发分层体系结构,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,我是ASP.NET MVC新手,现在我对MVC的工作原理有了基本的了解。我创建了一个简单的mvc网站,它只使用一个使用模式模型视图控制器的项目 但我想学习如何制作一个使用特定体系结构的mvc web应用程序,并且很难在线查找参考资料来帮助我理解它 我得到了一个项目,要学习并重写它,但我不想在不了解它是如何完成的情况下一个接一个地复制每个类,我计划从头重写它,并将现有的项目作为指南 ProjectSolution Project.Web //An MVC web application

我是ASP.NET MVC新手,现在我对MVC的工作原理有了基本的了解。我创建了一个简单的mvc网站,它只使用一个使用模式模型视图控制器的项目
但我想学习如何制作一个使用特定体系结构的mvc web应用程序,并且很难在线查找参考资料来帮助我理解它
我得到了一个项目,要学习并重写它,但我不想在不了解它是如何完成的情况下一个接一个地复制每个类,我计划从头重写它,并将现有的项目作为指南

ProjectSolution
 Project.Web
  //An MVC web application

 Project.DataAccess
  //An edmx file (database first)
  Contracts
    IRepository.cs
    IUnitOfWork
  Repositories
    GenericRepository.cs
  UnitOfWork

 Project.Business
  Contracts
    IService1.cs
    IService2.cs
    ....so on
  Services
   Service1.cs
   Service2.cs
   ....so on
我真正需要的是,如果有人能告诉我从哪里开始阅读以了解这个项目的架构:

ProjectSolution
 Project.Web
  //An MVC web application

 Project.DataAccess
  //An edmx file (database first)
  Contracts
    IRepository.cs
    IUnitOfWork
  Repositories
    GenericRepository.cs
  UnitOfWork

 Project.Business
  Contracts
    IService1.cs
    IService2.cs
    ....so on
  Services
   Service1.cs
   Service2.cs
   ....so on
仅仅依靠我个人的代码阅读能力,我可以从这个设置中看到,它由3个不同的项目组成,Project.Web是一个MVC webapp,而另外2个是类库
从技术上讲,我知道这个架构是如何工作的,但我想知道如何从头开始,我的意思是,哪些是自动生成的,哪些是单独编写的等等。我还想了解ViewModel是如何工作的,因为在Project.Web中有一个文件夹ViewModels,它表示视图中使用的模型集合

啊!我迷路了,我不知道从哪里开始阅读。 我不需要解释每一个,但你能告诉我在哪里找到一个教程或类似的东西,我知道如何建立这个项目。请帮忙!谢谢大家!




注意:我知道这不是一个合适的问题,但我非常希望能从有经验的人那里得到帮助,为我指明方向。

从您发布的结构来看,解决方案(一个解决方案)似乎有三个不同的项目:

  • 1-Project.web:网站将自己投影到您想要的位置 让您的所有视图、css、脚本。。。以"理想的方式"实施, “MVC”(取决于您与谁交谈)网站项目 不应该有任何逻辑,它的唯一责任应该是 将信息呈现给用户。所以它基本上是 MVC
  • 2-项目。数据访问:这是M;该项目应 管理项目的所有数据部分,包括:, ORM、存储库、UoW
  • 3-项目。业务C部分中,所有业务逻辑 是这样的,基本上你们所有的班级都在努力学习 工作,我认为它是CPU
您提到这两个项目是类库项目,Web是网站项目,这是我组织项目/解决方案所遵循的体系结构


请注意,这是一个用于组织项目的架构设计,绝不是唯一或最好的架构设计。但是,对于您可能遵循的任何设计,您都可以尝试尊重MVC模式的SoC(关注点分离)目标

是的,这正是这个项目/解决方案所做的,我被告知要重写它以理解它,我知道它是如何工作的,但不知道如何制作它。你能为我推荐一些阅读材料,让我按照这个练习从头开始构建一个web应用程序吗?我脑子里什么都没有。根据我自己的经验,您应该始终牢记SoC方面,项目的组织将遵循这一点。Scott Allen的Asp.net视频是一个很好的例子reference@super-用户:上面的答案很好。我建议添加另一个名为Common的类库,在这个项目中,您可以创建所有枚举、数据传输对象、视图模型、帮助器等。