java / jdk中MVC的示例

时间:2012-04-03 19:38:03

标签: java model-view-controller

有人能给我一个基于MVC设计模式的java / jdk库中的应用程序/框架/工具的例子吗?我最近在接受采访时被问到这个问题。我回答说大多数java swing组件都是基于MVC设计的。但是采访者说他正在寻找比这更复杂的东西。 感谢。

6 个答案:

答案 0 :(得分:1)

如果您将对象用作模型,将jsps用作视图,将servlet用作控制器,则可以将Java库Java EE堆栈视为MVC。

Spring MVC将是基于MVC的流行库的另一个例子。

答案 1 :(得分:0)

Apache Struts就是这种框架的一个例子。

答案 2 :(得分:0)

Apache OFBiz,但我不推荐它用于业务。

答案 3 :(得分:0)

Struts可能是最受欢迎的最流行的纯MVC框架,虽然它感觉它的年龄和SPRING更多AOP,但也在那里。

答案 4 :(得分:0)

当谈到JavaSE时,MVC框架就是Swing(或至少与它接近的东西),正如你所指出的那样。我并不真正理解他对“更复杂的东西”的意义,但还有其他选项,如EclipseRCP。

Eclipse以IDE而闻名,但基本上,它是一个基于框架的桌面应用程序,每个用户都可以使用它来构建他/她的自定义桌面应用程序,因为它是开源的。它比Swing“更复杂”(即使Swing足够复杂),因为它们是开箱即用的多层复合物。从OSGI实现(这是最基本的软件)到顶层,您可以在其中找到视图,编辑器,透视图,命令,附加组件等结构。

一般来说,我们可以说在EclipseRCP中间层中,V是Eclipse SWT库(组件),C是Eclipse JFace库,M是您自己的应用程序的模型。在顶层,我在前一段(透视图,视图,编辑等)中提到的所有“复杂”结构也是C的一部分,但是在更高层次。

对于JavaSE的MVC框架(不包括Swing),这是我能想到的最接近的事情。它的最后一个版本(Eclipse E4)已经很好地清理了复杂性,因此我不知道这是否“足够复杂”来回答这个问题。如果您想了解更多信息,请阅读此tutorial about Eclipse E4

顺便说一下,使用Netbeans平台,您还可以实现desktop-based application following an MVC approach(或至少类似的东西),它基于Swing。

答案 5 :(得分:0)

我过去也和mvc挣扎过,现在我学到了很多东西,请看本教程mvc simple program(adding two numbers)