4

Hello I have read an example that I found on my school database about MVC in Java. there is this example where the buttons go into the Controller part. but isn't it correct that the buttons need to be in the VIEW because everything that the user can see must be in the view or am I understanding it wrong and is it different in Java?

4

3 回答 3

4

此图像是来自 Wikipedia 上的 Model-View-Controller页面的 MVC 的概括:

在此处输入图像描述

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

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

于 2012-12-26T19:09:15.100 回答
2

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

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

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

于 2012-12-26T19:17:05.603 回答
0

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

于 2012-12-26T19:31:22.610 回答