【问题标题】:Example of MVC in java/jdkjava/jdk 中的 MVC 示例
【发布时间】:2012-04-03 19:38:03
【问题描述】:

有人可以给我一个基于 MVC 设计模式的 java/jdk 库中的应用程序/框架/工具的示例吗?我最近在一次采访中被问到这个问题。我回答说大部分java swing组件都是基于MVC设计的。但面试官说他正在寻找比这更复杂的东西。 谢谢。

【问题讨论】:

  • “java/jdk”是什么意思? JavaSE(基于桌面)或 JavaEE(基于服务器/Web)??那些环境不一样
  • 如果面试官认为 Swing 并不复杂,你可能不想做他认为复杂的事情......
  • 我认为他指的是 JavaSE。我告诉他挥杆中的个别组件,所以他要求更复杂的东西。所以我不认为他暗示摇摆并不复杂,我不认为摇摆框架是他正在寻找的答案。
  • 感谢各位的回答。从表面上看,要么我误解了他的问题,要么没有简单直接的答案。

标签: java model-view-controller


【解决方案1】:

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

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

【讨论】:

  • 是的,我知道这一点。但我认为他在 JavaSE/JDK 中要求一些东西。谢谢。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    Apache OFBiz,但我不建议将其用于商业用途。

    【讨论】:

      【解决方案4】:

      Struts 可能是目前使用的最大、最流行的纯 MVC 框架,尽管它已经过时了,而且更 AOP 的 SPRING 也已经出现了。

      【讨论】:

        【解决方案5】:

        正如您所指出的,当谈到 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。

        【讨论】:

          【解决方案6】:

          我过去也为 mvc 苦苦挣扎,现在我学到了很多,请参阅本教程mvc simple program(adding two numbers)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-08-04
            • 1970-01-01
            • 2011-04-08
            • 1970-01-01
            • 1970-01-01
            • 2018-04-15
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多