MVC按钮应该在Controller或View中

时间:2012-12-26 18:45:21

标签: java model-view-controller

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

3 个答案:

答案 0 :(得分:2)

此图片是维基百科上the Model-View-Controller页面的MVC概括:

enter image description here

通常,如果您正在处理绘图/渲染UI元素,那么它属于视图。允许用户与按钮交互的操作/事件属于控制器(并且可以根据需要将功能委派给服务)。

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

答案 1 :(得分:2)

你说Buttons属于View是正确的。但是,可能存在必须在控制器中定义按钮的特定情况。例如,在动态UI的情况下,可能需要基于条件在控制器中实例化按钮。

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

如果涉及条件或业务逻辑,则应针对不同的方案测试代码,因此属于控制器。

答案 2 :(得分:1)

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