Model view controller MVC模型1和模型2之间的区别是什么?

Model view controller MVC模型1和模型2之间的区别是什么?,model-view-controller,design-patterns,architecture,Model View Controller,Design Patterns,Architecture,我最近发现MVC应该有两种不同的风格,模型一和模型二。我应该做一个关于MVC1的演示,我被指示“这不是基于web的版本,也就是MVC2”。由于这些演示一般都是关于设计模式的,我怀疑这种分离是否与Java(我在Sun的网站上找到了一些信息,但似乎还很远)或ASP有关 我对什么是MVC有很好的理解,我使用了几个(web)框架来实现它,但是这个术语对我来说是新的。基于web的版本与其他MVC(我猜是GUI)实现有何不同?它是否与HTTP的无状态性质有关 谢谢, Alex看起来MVC1(模型1)在控制器

我最近发现MVC应该有两种不同的风格,模型一和模型二。我应该做一个关于MVC1的演示,我被指示“这不是基于web的版本,也就是MVC2”。由于这些演示一般都是关于设计模式的,我怀疑这种分离是否与Java(我在Sun的网站上找到了一些信息,但似乎还很远)或ASP有关

我对什么是MVC有很好的理解,我使用了几个(web)框架来实现它,但是这个术语对我来说是新的。基于web的版本与其他MVC(我猜是GUI)实现有何不同?它是否与HTTP的无状态性质有关

谢谢,
Alex

看起来MVC1(模型1)在控制器和视图之间没有很强的中断,而在MVC2(模型2)中,这些关注点是分开的

看看这是否为您提供了更多的见解:


更多信息

我认为这是MVC1和MVC2之间的主要区别:

MVC2方法的特点是控制器代码的分离 从内容上看。(表示框架的实现,例如 Struts,遵循MVC2方法)。但对于MVC1来说,它没有一个 控制器和视图之间的强中断


模型1架构:-这里JSP页面将负责所有任务,并将成为所有请求的目标。任务可能包括身份验证、数据访问、数据操作等。该体系结构适用于简单的应用程序

缺点:由于整个业务逻辑都嵌入到JSP中,因此必须将java代码块添加到JSP页面中。 对于网页设计师来说,这项工作将是困难的,因为他们面临着业务逻辑方面的问题。 代码是不可重用的

模型2架构:servlet充当应用程序的控制器,并将成为每个请求的目标。它们分析请求并收集生成对充当应用程序模型的JavaBeans对象的响应所需的数据。JSP页面构成了应用程序的视图

优点:–可重用性
易于维护。

所以我猜这源于Java?来自Oracle/Sun:。改变人们对这一点的想法可能为时已晚,但根据答案和评论中列出的来源,在MVC的概念中,模型1/MVC1和模型2/MVC2之间没有二分法。模型1根本不是MVC;1/2区别的命名法是专门针对Sun的文档的,该文档最初甚至没有使用MVC这个术语。直到后来人们才开始明确表示Model2或多或少地映射到MVC