Model view controller MVC能取代n层体系结构吗?还是它是n层体系结构的一部分

Model view controller MVC能取代n层体系结构吗?还是它是n层体系结构的一部分,model-view-controller,architecture,n-tier-architecture,Model View Controller,Architecture,N Tier Architecture,最近我在学习MVC架构,我把MVC和n-tire架构搞混了 我看到一些人说,您可以直接使用MVC而不是n-tire(3-tire)体系结构,其中视图表示UI轮胎,控制器表示业务或逻辑轮胎,模型表示数据访问轮胎 有人说,只有三轮胎架构的UI轮胎将被MVC取代。如果是这样,那么我们是否必须在模型和逻辑中复制域对象 以上两种方法中哪一种是正确的,或者两者都可以根据需要使用?MVC比传统的n层体系结构有很多好处。它是动态的,有利于团队合作。设计师不用担心编码方面,而程序员不用担心设计就可以继续工作。这是

最近我在学习MVC架构,我把MVC和n-tire架构搞混了

我看到一些人说,您可以直接使用MVC而不是n-tire(3-tire)体系结构,其中视图表示UI轮胎,控制器表示业务或逻辑轮胎,模型表示数据访问轮胎

有人说,只有三轮胎架构的UI轮胎将被MVC取代。如果是这样,那么我们是否必须在模型和逻辑中复制域对象


以上两种方法中哪一种是正确的,或者两者都可以根据需要使用?

MVC比传统的n层体系结构有很多好处。它是动态的,有利于团队合作。设计师不用担心编码方面,而程序员不用担心设计就可以继续工作。

这是完全不同的模式

N-tier是关于应用层的物理分离,因此您可以例如交换DAL,或者添加另一个前端


另一方面,MVC关注用户和应用程序之间的交互。

MVC和N层是互补的。您可以同时使用它们。在这种情况下,MVC将替换UI层。N层描述物理结构,而MVC是一种设计模式

一个很好的例子是拥有一个MVC应用程序(UI),与连接到不同数据源(DA)的Web服务(服务和业务)通信。在这里,MVC将允许更通用、可重用的视图和优化的UI层

但MVC并没有取代N层


我希望这有帮助

嗨,所以你说的是,我们可以在UI层上使用MVC,然后再使用其他层,如域和数据访问,如分层体系结构。是的,这正是我所说的。那么我们必须复制模型中的域对象吗?你要么在模型中拥有完全不同的域对象,要么重用类和接口必须在公共dll中实现的定义(请不要重复,重复永远不是一个好的解决方案)。您可能有不同的域对象,因为它们更好地适应UI(数据更少,为UI使用做好准备,等等)。在这种情况下,业务/服务层必须将它们提供给UI。