3层架构和mvc有什么区别?

40 architecture model-view-controller three-tier

3层架构和mvc有什么区别?

它们一样吗?

两者都有3层,即模型,视图和控制器

Sar*_*raz 59

与MVC架构比较

乍一看,这三层可能看起来类似于模型 - 视图 - 控制器(MVC)概念; 然而,在拓扑学上它们是不同的.三层体系结构中的基本规则是客户端层永远不会直接与数据层通信; 在三层模型中,所有通信都必须通过中间层.从概念上讲,三层架构是线性的.但是,[model-view-controller] MVC架构是三角形的:视图向控制器发送更新,控制器更新模型,视图直接从模型更新.

资料来源:http://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture

  • MVC架构不一定是三角形,也可以是三角形.但是,n层架构始终是线性的. (6认同)
  • 非常简单,MVC是用于分层体系结构的表示层框架,而N-tier是一种物理部署体系结构样式,您根本无法将它们进行比较,没有任何意义。 (4认同)
  • 检查 [this](https://www.youtube.com/watch?v=efScyDWWgFM) 视频或这篇 [文章](http://www.c-sharpcorner.com/Blogs/6446/difference-between -mvc-and-3-tier-architecture.aspx),希望对某人有所帮助。 (2认同)

Gen*_*e S 22

MVC是一种用于使UI代码更易于维护和测试的模式.当使用MVC模式时,可以对UI代码的更大部分进行单元测试.

这篇文章更详细地描述了MVC模式:http://martinfowler.com/eaaDev/uiArchs.html

3层架构是用于完全不同原因的模式.它将整个应用程序分为有意义的"组":UI,业务逻辑,数据存储.

因此,3层应用程序是指应用程序中的所有代码.MVC模式是UI层中使用的模式.

这是一篇关于3层架构的好文章:http://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspx

有关详细信息,您可以搜索互联网并查找关于这两个主题的gazzilion文章.

  • 这是不正确的,MVC是一种体系结构原理,不仅适用于UI层。可以在其中视图为HTML,控制器为API端点,模型为数据表示形式的任何Web应用程序中找到相关示例。MVC .net就是一个例子。检查这个很好的解释https://softwareengineering.stackexchange.com/questions/299836/difference-between-3-tier-architecture-and-mvc-model-view-controller-in-asp-n (3认同)

ket*_*iya 10

在MVC中:MVC架构是三角形的:视图向控制器发送更新,控制器更新模型,视图直接从模型更新

在三层:三层体系结构是客户端层永远不会直接与数据层通信在三层模型中,所有通信都必须通过中间层


小智 7

它们在某种程度上是相似的,例如:

  • 3 层将整个应用程序划分为:UI、逻辑和数据
  • MVC 将 UI 部分分为:视图(UI 的一种 UI)、模型(数据)和控制器(逻辑)

但不同之处在于层之间的通信方式:

  • 3 层:任何东西都经过逻辑层(a->b、b->c 和 c->b、b->a)
  • MVC:它们以三角形的方式 2 对 2 进行通信。(a->b, b->c, c->a)