【问题标题】:MVC should buttons go in Controller or ViewMVC 应该按钮进入 Controller 或 View
【发布时间】:2012-12-12 06:13:57
【问题描述】:

您好,我已经阅读了我在学校数据库中找到的关于 Java 中的 MVC 的示例。有这个例子,按钮进入控制器部分。但是按钮需要在 VIEW 中是否正确,因为用户可以看到的所有内容都必须在视图中,或者我理解错了,它在 Java 中是否不同?

【问题讨论】:

  • 显示一些上下文 - 您是指在 GUI 中生成按钮的代码,还是指对按钮的绑定操作?
  • 我的意思是生成按钮等的代码

标签: java model-view-controller


【解决方案1】:

这张图片是来自维基百科the Model-View-Controller页面的MVC的概括:

一般来说,如果您正在处理绘制/渲染 UI 元素,则属于 视图。让用户与按钮交互的操作/事件将属于 控制器(并且可能会根据需要将功能委托给服务)。

您不希望在控制器中放置任何绘制/渲染按钮的代码 - 将控制器与特定视图紧密耦合,这违背了使用此设计模式的原则。

【讨论】:

    【解决方案2】:

    您说按钮属于视图是正确的。但是,在某些特定情况下,您必须在控制器中定义按钮。例如,在动态 UI 的情况下,可能需要根据条件在控制器中实例化按钮。

    视图/控制器分离的一个主要原因是使视图“哑”,并成为不需要测试的 UI 表示。 UI 组件通常是重量级的,必须抽象出来进行测试。这是通过将其替换为反映原始组件界面的轻量级模拟来完成的,并将这些模拟呈现给控制器的测试。

    如果涉及条件或业务逻辑,代码应针对不同场景进行测试,因此属于控制器。

    【讨论】:

      【解决方案3】:

      我给你的建议 - 看看 PureMVC Project 的 Java 的 MVC 实现。你会发现这是一件了不起的事情!基础设施是根据here 描述的 MVC 架构实现的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多