【问题标题】:Is Model 1 a subcategory of the MVC architecture?模型 1 是 MVC 架构的子类别吗?
【发布时间】:2014-07-19 01:45:15
【问题描述】:
【问题讨论】:
标签:
java
jsp
servlets
model-view-controller
【解决方案1】:
Java BluePrints 4.4.1 Structuring the Web Tier 特别警告这种解释:
J2EE平台中Web层技术的文献频繁出现
使用术语“模型 1”和“模型 2”没有解释。这
术语源于 JSP 规范的早期草案,该规范
描述了 JSP 页面的两种基本使用模式。虽然条款有
从规范文档中消失,它们仍然是共同的
采用。模型 1 和模型 2 仅指不在场或在场
(分别)调度请求的控制器 servlet
客户端层并选择视图。
此外,如果我们认为 模型-视图-控制器 (MVC) 架构模式的目标是将应用程序划分为三个相互关联的部分(模型、View 和 Controller)并且 Model 1 没有将 Controller 和 分开看,不知道Model 1能不能算是MVC的一个子类。
模型 2 通常与模型-视图-控制器 (MVC) 范例相关联,因为它推动了逻辑和显示之间的分离。
【解决方案2】:
如果您阅读 MVC wiki - http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller - 您会发现没有 MVC 模型 1 或 MVC1 模式或 MVC 模型 2 或 MVC2 的概念,只有 MVC 模式的概念。
当您开发 JSP 应用程序时。对于简单的应用,可以使用方式1(文章调用模型1),JSP页面不仅包含显示元素输出HTML,还负责提取HTTP请求参数,调用业务逻辑(在JavaBeans中实现,如果不直接在 JSP 中),并处理 HTTP 会话。方式1没有实现MVC模式,因为全部在JSP页面中,没有解耦。
对于复杂的应用,你可以使用方式 2 实现 MVC 模式(文章调用 MVC - Model 2 - 这个名字有单词是 MVC 因为 Model 2 实现了 MVC 模式)。方式 2(MVC 实现)帮助我们在视图和业务逻辑处理(控制器)之间、视图和模型之间解耦。