3层架构和mvc有什么区别?
它们一样吗?
两者都有3层,即模型,视图和控制器
答案 0 :(得分:53)
乍一看,三层可能看起来很像 模型 - 视图 - 控制器(MVC)概念;然而,拓扑学上它们是 不同。 三层架构的基本规则是 客户端层永远不会直接与数据层通信;在一个 三层模型所有通信必须通过中间层。 从概念上讲,三层架构是线性。然而 [model-view-controller] MVC架构是三角形:视图发送 更新控制器,控制器更新模型,以及 视图直接从模型更新。
来源:http://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture
答案 1 :(得分:19)
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文章。
答案 2 :(得分:10)
在MVC中:MVC架构是三角形的:视图向控制器发送更新,控制器更新模型,视图直接从模型更新
三层:三层架构是客户端层永远不会直接与数据层通信在三层模型中,所有通信都必须通过中间层
答案 3 :(得分:4)
他们在某种程度上相似,如:
但差异来自于各层之间的沟通方式:
答案 4 :(得分:2)
http://en.wikipedia.org/wiki/Multitier_architecture 简而言之,在3层体系结构中,表示层从不直接与数据层通信。在MVC中,模型,视图和控制器之间的关系是三角形。三个中的两个可以互相沟通
答案 5 :(得分:1)
两者之间的主要区别是:
三层体系结构是客户端层永远不会直接与数据层通信在三层模型中,所有通信都必须通过中间层
MVC架构是三角形的:视图向控制器发送更新,控制器更新模型,视图直接从模型更新
答案 6 :(得分:1)
在三层解决方案中,UI与业务层分离,以确保关注外观的UI设计人员不会与编程专业的繁重编程混淆。
当大量人员参与制作大型应用程序时,此架构(三层)是必不可少的。
答案 7 :(得分:1)
两者之间的主要区别是: 在这种情况下,“层”也可以称为“层”。涉及的三层或层包括: 一个表示层,以HTML / JS / CSS的形式向浏览器发送内容。这可能会利用React,Angular,Ember,Aurora等框架。 应用程序层,它使用应用程序服务器并处理应用程序的业务逻辑。这可能是用C#,Java,C ++,Python,Ruby等编写的。 数据层,它是一个数据库管理系统,提供对应用程序数据的访问。这可能是MSSQL,MySQL,Oracle或PostgreSQL,Mongo等。
MVC架构是三角形的:视图向控制器发送更新,控制器更新模型,视图直接从模型更新
答案 8 :(得分:0)
首先,层是用于物理部署的,您可能指的是层,而MVC是表示层的框架,仅此而已
答案 9 :(得分:0)
MVC的体系结构样式是非分层的(三角形的):
三层建筑风格是分层的(线性的):
表示层从不直接与数据通信 层(不透明的架构)
所有通信都必须通过中间件层