Model view controller n层vs mvc体系结构-何时使用这些体系结构?

Model view controller n层vs mvc体系结构-何时使用这些体系结构?,model-view-controller,architecture,n-layer,Model View Controller,Architecture,N Layer,我对这两种体系结构做了很多研究,但我无法选择使用哪一种。因此,我的问题是:这两种体系结构的主要优点和缺点是什么?当我们使用n层而不是mvc体系结构时?n层和3层是体系结构部署样式,它们以与分层样式非常相同的方式描述将功能划分为多个部分,但是,每个段都是一层,可以位于物理上独立的计算机上 模型视图控制器。将UI代码分为三个单独的单元:模型(数据)、视图(接口)和控制器(处理逻辑),重点放在视图上 这些模式侧重于分离不同视角的关注点。n层侧重于组件(客户端、服务器等)的物理分离,而MVC侧重于UI组

我对这两种体系结构做了很多研究,但我无法选择使用哪一种。因此,我的问题是:这两种体系结构的主要优点和缺点是什么?当我们使用n层而不是mvc体系结构时?

n层和3层是体系结构部署样式,它们以与分层样式非常相同的方式描述将功能划分为多个部分,但是,每个段都是一层,可以位于物理上独立的计算机上

模型视图控制器。将UI代码分为三个单独的单元:模型(数据)、视图(接口)和控制器(处理逻辑),重点放在视图上

这些模式侧重于分离不同视角的关注点。n层侧重于组件(客户端、服务器等)的物理分离,而MVC侧重于UI组件分离(图形、处理逻辑等)


正如其他回答所指出的,这些并不相互排斥。

MVC只是一种GUI架构,所有架构样式都不是相互排斥的。您在同一个系统中同时拥有客户机服务器、n层、mvc和soa。如前所述,MVC通常属于用户交互层。您可以在N层或洋葱结构中使用MVC模式。首先描述您的需求,如果没有它们,您如何决定体系结构?