【发布时间】:2018-04-01 05:22:48
【问题描述】:
我开始想知道在 MVC 模式中业务层应该在哪里。 这很快让我问“n-tier 和 MVC 之间有什么区别”。 我阅读了很多文章和 Stackoverflow 的回复,发现有很多不同的意见和回复。
我不是专家,但我认为有些回复和文章只是垃圾。例如 N 层是指每一层都位于网络中物理上不同的硬件上(不!) N 层用于大型应用程序,MVC 用于小型应用程序(垃圾)
然后我读了一篇有意义的文章。 N 层流程总是将 UI 流向 BL 到 DL,然后再通过 BL 流回 UI。但是,MVC 具有三角形流程。没错,但仅此而已吗?
有人提出的另一点是,MVC 是一种应用程序架构模型,而 n-tier 是一种系统架构模式。我不确定他们的意思,直到他们提到 MVC 模式是一种应用程序架构,可以在每个 n 层中使用。
刚刚阅读了有关 Angular 的文章,我可以看到 MVC 在 UI 层中实现,并看到 MVC 和 Web API 最近如何在 .Net 中合并,我可以看到带有控制器、视图和模型的 Web AP 中间层。
但这对 DL 来说是否成立?如今,.Net 中的大多数数据层都是带有一些包装的 EntityFrame 工作。 DL 层是否可以使用 MVC 模式实现,或者实际上应该这样实现?
如果这个 N 层和 MVC 的定义是正确的,那么应该可以将 MVC 模型应用于 N 层系统层中的任何层。
任何人都可以给我任何指示是否可行,或者您是否应该对 DAL 是 MVC 感到困扰。
【问题讨论】:
标签: .net asp.net-mvc n-tier-architecture