【问题标题】:What is the difference between MVC model 1 and model 2?MVC 模型 1 和模型 2 有什么区别?
【发布时间】:2011-02-24 17:55:47
【问题描述】:

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

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

谢谢,
亚历克斯

【问题讨论】:

  • 改变人们对此的看法可能为时已晚,但是——根据此处的答案和 cmets 中列出的来源——在 MVC 的概念中并没有二分法 在模型 1/MVC1 和模型 2/MVC2 之间。 Model 1 根本不是 MVC。并且 1/2 区别的命名是特定于 Sun 的文档的,该文档最初甚至没有使用 MVC 一词。直到后来人们才开始明确表示 Model 2 或多或少映射到 MVC。

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


【解决方案1】:

似乎 MVC1 (model1) 在控制器和视图之间没有明显的中断,而在 MVC2(model2) 中,这些问题是分开的。

看看这是否能让你更深入地了解:MVC1 and MVC2 discussion

更多信息Just a little more

【讨论】:

  • 所以我猜这起源于 Java?
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-14
      • 2013-05-27
      • 1970-01-01
      相关资源
      最近更新 更多