2012-05-07 81 views
1

是在Java中常用的模型 - 视图 - 控制器 - 模式?
我听说,通常只使用它的两个组件,以便视图和控制器只有一个组件,与模型进行通信。模型 - 视图 - 控制器和Java

+0

另请参见[* Swing架构概述*](http://java.sun.com/products/jfc/tsc/articles/architecture/)。 – trashgod

回答

4

我认为这个问题可能太宽回答,但为了把事情说清楚你:

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

所以简而言之,你的问题的答案是:是的,MVC模式在java中被广泛使用,通常视图和控制器有自己的角色,也许在摆动这个概念有点混杂,但在其他类型的应用程序不是很多。

干杯!

+1

+1,因为你的答案比我的好。 –

0

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

控制器包含web层表示逻辑诸如处理请求和调度的响应返回到图

的视图负责将请求传递值到控制器和渲染返回的响应回

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

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

  1. 分派器的servlet充当前端控制器通过它引导所有的请求基于所述网址相关控制器
  2. 控制器获取请求从视图值(JSP)&处理该请求值,填充模型相应
  3. 的填充模型

    经由ORM框架(休眠)传递到坚持 的数据的数据库或 填充模型添加回会话或请求范围可变

  4. ,其用于呈现的值回到视图(JSP)使用JSTL或EL

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

+1

http://www.thecoderush.com/mvc-tutorial – Sanath

+0

该教程是一个非常好的教程! –

2

是的,它在Java中很常见。

在JavaEE中,它可以像由javax.servlet.http.HttpServlet(servlet,controller)构造的JavaBean(model)一样简单,并作为请求属性转发给JSP页面(视图),该页面呈现它浏览器友好的格式,如HTML。也有令人眼花缭乱的框架 - 一些标准,其他开放源代码以及一些专有 - 所有这些都寻求干净的MVC开发的圣杯,通常使用语法糖来降低复杂性或提高开发人员的生产力。一些大的例子是Apache StrutsJavaServerFaces (JSF)。维基百科有一个像样的破败Java MVC frameworks

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

最后,它可能只是我,但我还没有看到组合视图和控制器的示例,我没有呻吟并希望进行重构。

0

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