模型 - 视图 - 控制器和Java

时间:2012-05-07 01:12:33

标签: java model-view-controller

Java中常用的模型 - 视图 - 控制器 - 模式是什么? 我听说,只使用它的2个组件是很常见的,因此视图和控制器只是一个组件,与模型通信。

4 个答案:

答案 0 :(得分:4)

我认为这个问题可能过于宽泛而无法回答,但是,要向你说清楚:

  • MVC模式用于许多流行的java Web框架,MVC模型2也很受欢迎。
  • 如果您正在考虑使用移动应用程序,那么Android也会使用MVC模式,并为视图和控制器定义明确的角色。
  • 如果您正在考虑使用桌面应用程序,那么有一些swing框架也可以使用MVC模式。

简而言之,您的问题的答案是:是的,MVC模式在java中被广泛使用,通常视图和控制器都有自己的角色,也许在摇摆中,概念有点混合但在其他类型的应用程序没那么多。

干杯!

答案 1 :(得分:2)

是的,它在Java中很常见。

在JavaEE中,它可以像由javax.servlet.http.HttpServlet(servlet,controller)构造的JavaBean(模型)一样简单,并作为请求属性转发到JSP页面(视图),该页面在浏览器中呈现它友好的格式,如HTML。还有一些令人眼花缭乱的框架 - 一些是标准的,另一些是开源的,还有一些是专有的 - 所有这些都是寻求清洁MVC开发的圣杯,通常使用语法糖来降低复杂性或提高开发人员的工作效率。一些重要的例子是Apache StrutsJavaServerFaces (JSF)。维基百科有一个不错的Java MVC frameworks概述。

在JavaSE中,使用MVC设计的GUI应用程序可以访问丰富的技术,例如侦听器,用于传递从控制器到视图的模型更改以及从视图组件到控制器的用户交互。在Swing中,视图可以像JTextField一样简单,也可以像JFrame一样复杂,其中包含一组重要的组件/小部件。 Oracle有关于模式here.

的概述文档

最后,它可能只是我,但我还没有看到组合视图和控制器的例子,我没有呻吟并想要一个重构器。

答案 2 :(得分:0)

MVC是最受欢迎的设计模式之一,不仅适用于Java,还适用于所有其他面向对象的编程语言。

控制器包含Web层表示逻辑,例如处理请求并将响应分派回视图

视图负责将请求值传递给控制器​​并返回返回的响应

该模型与视图和控制器密切配合。

Spring MVC的一个简单例子......

  1. Dispatcher servlet充当Front控制器,根据网址将所有请求通过相关控制器传送
  2. 控制器从视图(JSP)&获取请求值。处理请求值,相应地填充模型
  3. 填充的模型

    通过ORM框架(Hibernate)传递以持久保存数据 数据库或 填充的模型将添加回会话或请求范围变量

  4. 用于使用JSTL或EL在视图(JSP)中呈现值

  5. 这是一个非常简单的场景,典型的Web应用程序将使用MVC

答案 3 :(得分:0)

MVC代表模型视图和控制器。它是一种分离业务逻辑,表示逻辑和数据的设计模式。控制器充当视图和模型之间的接口。控制器拦截所有传入的请求。 Model表示应用程序的状态(数据)。它也可以有业务逻辑。 View表示演示文稿,即UI(用户界面)。