Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么使用模型视图控制器?_Java_User Interface_Model View Controller - Fatal编程技术网

Java 为什么使用模型视图控制器?

Java 为什么使用模型视图控制器?,java,user-interface,model-view-controller,Java,User Interface,Model View Controller,为什么开发人员在设计GUI时要注意模型-视图-控制器?开发人员在设计GUI时是否应该注意其他元素?如果不将模型与视图分离,当您发现要以不同的方式呈现相同的信息时,您将很难在以后进行重构。MVC与界面设计的关系不大,与应用程序的业务逻辑的实现和交互关系不大 –view–controllerMVC将帮助您区分GUI对所需业务规则的责任,也许以后您希望重用某些代码或对其进行更改,拥有MVC将对您有所帮助 以下是Martin Fowler提供的其他GUI架构 模型视图演示者(MVP) 浅见 MVC是现

为什么开发人员在设计GUI时要注意模型-视图-控制器?开发人员在设计GUI时是否应该注意其他元素?

如果不将模型与视图分离,当您发现要以不同的方式呈现相同的信息时,您将很难在以后进行重构。

MVC与界面设计的关系不大,与应用程序的业务逻辑的实现和交互关系不大


–view–controller

MVC将帮助您区分GUI对所需业务规则的责任,也许以后您希望重用某些代码或对其进行更改,拥有MVC将对您有所帮助

以下是Martin Fowler提供的其他GUI架构

模型视图演示者(MVP)

浅见


MVC是现代应用开发的需要。看看

总结:

如何将用户模块化 网站的界面功能 应用程序,以便您可以轻松 修改单个零件

模型视图控制器(MVC) 模式分离了对象的建模 域、演示文稿和 基于用户输入的操作分为三种 独立类[Burbeck92]:

  • 模型。模型管理对象的行为和数据 应用程序域,响应 要求提供关于其业务的信息 状态(通常从视图中),以及 响应更改指示 状态(通常来自
    控制器)
  • 视图。视图管理信息的显示
  • 控制器。控制器解释鼠标和键盘 来自用户的输入,通知 模型和/或要更改为的视图 合适

模型-视图-控制器体系结构仅意味着以下两者之间的分离:

1. Data (Model) 2. User interface (View) 3. Logic of the application (Controller) 1.数据(模型) 2.用户界面(视图) 3.应用程序逻辑(控制器) 它的优势可能在小型项目中看不到。然而,正如其他人提到的,MVC在团队中工作时非常有用,尤其是当应用程序需要扩展时


您希望熟悉的另一种技术是对象关系映射器。它是一组为数据库提供面向对象接口的类。

这些都是很好的答案,我同意他们的看法,只是我无意中发现了,现在我宁愿挖沟也不必使用MVC。

我知道您将其标记为java,但这也可以应用于JavaFX甚至基于web的应用程序

WPF当前流行的一种技术是模型-视图-模型,这里

  • 模型代表您的业务层,这里是您的业务逻辑所在,它与您的UI完全无关
  • 视图是控件的用户界面组件,主要是XAML标记
  • ViewModel:是UI将与之交互的数据组件,您还将在此处定义与模型交互的命令。在某些方面,这可以被认为是控制器,但它有状态,而控制器通常没有很多状态

模型视图控制器是封装程序不同部分的最常用方法之一,但它绝不是唯一的方法;还有许多其他选择。例如,许多GUI系统使用小部件+样式,而不是视图+控制器。组合的功能大致相同,但职责的分离却有细微的不同。在widgets+样式中,每个widget的视觉表示都与其动作紧密相关(有点像一堆微小的视图+控制器系统)。应用程序的整体外观由样式决定(这是使视觉系统具有内聚性的原因,而在MVC中,视图是使视觉系统具有内聚性的原因)


MVC非常常见,因为它通常易于理解和维护,并且具有广泛的适用性。我的建议是好好学习并经常使用它。但我也警告不要让它变成你的“锤子”(当你只有一把锤子时,一切看起来都像钉子)。注意其他选项,并在适当的时候使用它们。

实际上,这并不适用于任何“现代”(1990年后)环境,因为任何应用程序(游戏除外)都不太可能希望以独特的方式处理鼠标和键盘,从而需要编写专用代码。我看到了这种方法的好处,但我看不出它与MVC在任何方面是相互排斥的。@Imagist:使用动态对话框,模型只是一个简单的数据结构,视图只是一个简单的“绘制”程序,程序员不必编写任何控制器。程序员不必关心事件、通知、绑定之类的事情。我建议删除你在维基百科上的文章。那篇文章是为你的作品做的广告,在百科全书的背景下,这是完全不相干的。@Marian:谢谢你没有告诉我这是假的。