MVC模型1和模型2有什么区别?

时间:2010-05-27 15:57:06

标签: model-view-controller design-patterns architecture

我最近发现MVC应该有两种不同的风格,模型一和模型二。我应该对MVC1进行演示,并且我被告知“它不是基于Web的版本,被称为MVC2”。由于演示文稿是关于一般的设计模式,我怀疑这种分离是否与Java有关(我在Sun的网站上找到了一些信息,但它看起来很遥远)或ASP。

我非常了解MVC是什么,我使用了几个(web)框架来强制执行它,但这个术语对我来说是新的。基于Web的版本与其他MVC(我猜的GUI)实现有何不同?它与HTTP的无状态特性有关吗?

谢谢,
亚历

3 个答案:

答案 0 :(得分:3)

似乎MVC1(model1)在控制器和视图之间没有强大的中断,而在MVC2(模型2)中,这些问题是分开的。

看看这是否能为您提供更多见解:MVC1 and MVC2 discussion

更多信息Just a little more

答案 1 :(得分:1)

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

  

MVC2方法的标志是控制器代码的分离   来自内容。 (演示框架的实现,如   Struts,坚持MVC2方法)。但对于MVC1却没有   控制器和视图之间的强烈中断。

答案 2 :(得分:1)

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

缺点: - 由于整个业务逻辑嵌入在JSP中,因此必须将java代码块添加到JSP页面中。 对于网页设计师而言,工作将很困难,因为他们会面临业务逻辑的问题。 代码不可重复使用。

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

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