将ASP.NET MVC标准应用程序转换为N层应用程序

拉恩·辛格(Ramn Singh)

我正在开发一个正在使用ASP.NET MVC的应用程序然后,我开始了解n层体系结构,认为它可以为应用程序提供更大的灵活性,因此我开始将我的标准mvc项目转换为n层我也有基于角色的观点。在问这个问题之前,我已经阅读了很多有关N层体系结构的在线文章,但是每个人都有它自己的n层结构。我没有找到任何显示N-Tier应用程序标准化结构的示例。我的应用程序的MVC结构如下:

Models :
- IBaseEntity
- IDeletableEntity
- IValidatableEntity
- File : IBaseEntity, IDeletableEntity, IvalidatableEntity
- User : IBaseEntitiy
Repositories :
- IRepo <T> where T : IBaseEntity
- IDeletableRepo <T> where T : IDeletableEntity
- IValidatableRepo <T> where T : IValidatableRepo
- Repo <T>: IRepo <T> where T : IBaseEntity
- DeletableRepo <T>: IDeletableRepo <T> where T : IDeletableEntity
- ValidatableRepo <T> : IValidatableRepo<T>where T : IValidatableRepo
- UnityOfWork //encapsulating all repos and providing acces to them
Services :
- IService <T>: where T : IBasEntity
- IValidatableService <T> where T : IValidatableEntity
- Service <T> : IService <T> : where T : IBasEntity
- ValidatableService <T>: IValidatableService <T> where T : IValidatableEntity

Controllers:
- FileController : Controller
- UserController : Controller

Views:
  File :
  - index.cshtml
  - view.cshtml
    Admin :
    - view.cshtml //Admin has more option while viewing page)
  User :
  - Profile.cshtml
    Admin :
    - AllProfile.cshtml

为了将其转换为N-Tier,我开始阅读很多在线文章,但我仍然感到困惑。但是我实现了n层,其结构如下:

Project Solution

 Project.BusinessObject
    Models

 Project.BusinessLogic
    Services

 Project.DataAccess
   Repositories

 Project.InversionOfControl
   Autofac

 Project.UserInterface
   Controllers
   ViewModels
   Views


我的n层应用程序的流程是:控制器->服务->仓库+ AutoFac->模型
实际上,我想发布图像,但是我无法使用10个信誉指标。
您可以单击此处查看我的应用程序的n层结构,
因为这是我对n层体系结构的第一次体验,所以我不确定该应用程序的结构是否良好。如果有人可以告诉我我做错的要点或需要某种修改的要点,那将是非常有用的帮助。

其他一些问题是否可以帮助我:
业务对象是否与模型相同?
业务逻辑是业务对象的方法吗?
台球专业

我是一个喜欢分层应用程序方法的人,原因如下。MVC体系结构是分层的应用程序。这意味着您的应用程序具有:

表示层,视图,

应用处理层,控制器和

数据管理层,模型。

大多数开发人员出于一些不同的原因而使用N-Tier应用程序结构。

  1. 以便能够通过Intranet在不同的服务器上运行应用程序的不同部分。

  2. 轻松更新其中一个层,而无需重写其他层。

  3. 如果构建正确,则允许您构建应用程序的附件。

至于灵活性,我发现n层的灵活性可能不那么灵活,其想法是正确地分离您的层并将所有内容注入到其他层,如果您不熟悉创建这样的应用程序,这可能是一件非常麻烦的工作。如果您希望将数据与应用程序分开,则可以将数据层设置为Web服务。这样,您的MVC应用程序将能够访问它,移动应用程序,桌面应用程序或您希望编写的任何其他应用程序也将能够访问它。

无论如何,多层主要是关于将应用程序扩展到多台计算机,因为灵活性方面,我不确定除了我列出的内容以外,您对N层可以做的任何事情都无法对MVC结构进行。

有一个很好的n层体系结构的好例子,这里有一些链接。

http://www.codeproject.com/Articles/70061/Architecture-Guide-ASP-NET-MVC-Framework-N-tier-En

https://visualstudiogallery.msdn.microsoft.com/74633fdf-0563-4c75-aca8-f69835e7f8ab

http://www.orchardproject.net/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

单击按钮即可从ASP .NET MVC Web应用程序打开IOS应用程序

来自分类Dev

3层ASP.NET MVC应用程序中的依赖注入

来自分类Dev

ASP.NET MVC应用程序的处理参数

来自分类Dev

清理ASP.NET MVC应用程序中的输入

来自分类Dev

使用Web服务作为数据访问层开发ASP.NET MVC应用程序

来自分类Dev

应用程序区域中的ASP.NET MVC WebAPI

来自分类Dev

如何部署ASP.NET MVC 4应用程序?

来自分类Dev

自托管ASP.NET MVC应用程序

来自分类Dev

PhoneGap开发ASP.NET MVC应用程序

来自分类Dev

通过Asp.Net MVC应用程序设置IdentityServer

来自分类Dev

部署ASP.NET MVC 4应用程序

来自分类Dev

ASP.NET 5将应用程序添加为IIS应用程序

来自分类Dev

ASP.NET 5 / MVC 6应用程序设置

来自分类Dev

ASP.NET MVC 6应用程序的虚拟应用程序根路径

来自分类Dev

将BOT与ASP.Net应用程序集成

来自分类Dev

从javascript调用ASP.NET MVC应用程序的URL

来自分类Dev

单击按钮即可从ASP .NET MVC Web应用程序打开IOS应用程序

来自分类Dev

将现有的Web窗体应用程序迁移到ASP.Net MVC单页应用程序

来自分类Dev

如何将asp.net应用程序转换为jQuery(客户端/ html5)模型

来自分类Dev

将Cordova / OnsenUI应用程序转换为标准WebApp

来自分类Dev

需要用于asp.net MVC应用程序的开源标准财务图表API

来自分类Dev

将Windows窗体屏幕截图应用程序转换为ASP.NET

来自分类Dev

将C#控制台应用程序转换为ASP.NET MVC应用程序

来自分类Dev

将BOT与ASP.Net应用程序集成

来自分类Dev

Azure中的ASP.NET MVC应用程序以及MySQL应用程序内

来自分类Dev

从经典的 asp.net 应用程序打开 mvc 应用程序

来自分类Dev

将带有图像上传的 ASP.NET Web 窗体应用程序转换为 Azure

来自分类Dev

将 .NET Core 控制台应用程序转换为自包含应用程序

来自分类Dev

将 ASP.NET MVC Web 应用程序从 .NET Framework 4.5 升级到 4.7.2

Related 相关文章

  1. 1

    单击按钮即可从ASP .NET MVC Web应用程序打开IOS应用程序

  2. 2

    3层ASP.NET MVC应用程序中的依赖注入

  3. 3

    ASP.NET MVC应用程序的处理参数

  4. 4

    清理ASP.NET MVC应用程序中的输入

  5. 5

    使用Web服务作为数据访问层开发ASP.NET MVC应用程序

  6. 6

    应用程序区域中的ASP.NET MVC WebAPI

  7. 7

    如何部署ASP.NET MVC 4应用程序?

  8. 8

    自托管ASP.NET MVC应用程序

  9. 9

    PhoneGap开发ASP.NET MVC应用程序

  10. 10

    通过Asp.Net MVC应用程序设置IdentityServer

  11. 11

    部署ASP.NET MVC 4应用程序

  12. 12

    ASP.NET 5将应用程序添加为IIS应用程序

  13. 13

    ASP.NET 5 / MVC 6应用程序设置

  14. 14

    ASP.NET MVC 6应用程序的虚拟应用程序根路径

  15. 15

    将BOT与ASP.Net应用程序集成

  16. 16

    从javascript调用ASP.NET MVC应用程序的URL

  17. 17

    单击按钮即可从ASP .NET MVC Web应用程序打开IOS应用程序

  18. 18

    将现有的Web窗体应用程序迁移到ASP.Net MVC单页应用程序

  19. 19

    如何将asp.net应用程序转换为jQuery(客户端/ html5)模型

  20. 20

    将Cordova / OnsenUI应用程序转换为标准WebApp

  21. 21

    需要用于asp.net MVC应用程序的开源标准财务图表API

  22. 22

    将Windows窗体屏幕截图应用程序转换为ASP.NET

  23. 23

    将C#控制台应用程序转换为ASP.NET MVC应用程序

  24. 24

    将BOT与ASP.Net应用程序集成

  25. 25

    Azure中的ASP.NET MVC应用程序以及MySQL应用程序内

  26. 26

    从经典的 asp.net 应用程序打开 mvc 应用程序

  27. 27

    将带有图像上传的 ASP.NET Web 窗体应用程序转换为 Azure

  28. 28

    将 .NET Core 控制台应用程序转换为自包含应用程序

  29. 29

    将 ASP.NET MVC Web 应用程序从 .NET Framework 4.5 升级到 4.7.2

热门标签

归档