为什么开发人员在设计GUI时应该注意Model-view-controller?还有其他元素需要开发人员注意吗?
为什么开发人员在设计GUI时应该注意Model-view-controller?还有其他元素需要开发人员注意吗?
http://martinfowler.com/eaaDev/uiArchs.html
模型-视图-表示器(MVP)
谦逊的视图
等等。
如果您不将模型与视图分开,那么当您发现想以不同的方式呈现相同的信息时,稍后重构将会非常困难。
这些都是好的回答,我同意它们,除了我偶然发现了另一种方法,现在我宁愿挖沟渠也不想使用MVC。
MVC并不是与界面设计有太多关系,而更多地涉及应用程序的实现和与业务逻辑的交互。
http://en.wikipedia.org/wiki/Model–view–controller
模型视图控制器架构简单地意味着分离:
1. 数据(模型) 2. 用户界面(视图) 3. 应用程序逻辑(控制器)
它的优点在小型项目中可能不明显。然而,正如其他人所提到的,当团队合作并且特别是应用程序需要扩展时,MVC非常有用。
另一种你想熟悉的技术是对象关系映射器。它是一组类,为数据库提供面向对象的接口。
MVC是现代应用程序开发的需求。看一下Model-View-Controller。
摘要:
如何将Web应用程序的用户界面功能模块化,以便您可以轻松修改各个部分?
模型-视图-控制器(MVC)模式根据用户输入将域建模、表示和操作分为三个单独的类[Burbeck92]:
- 模型。模型管理应用程序域的行为和数据,响应对其状态的信息请求(通常来自视图),并响应更改状态的指令(通常来自控制器)。
- 视图。视图管理信息的显示。
- 控制器。控制器解释用户的鼠标和键盘输入,根据需要通知模型和/或视图进行更改。
我知道你标记了这个为Java,但这也可以应用于JavaFX甚至基于Web的应用程序。
目前在WPF中流行的一种技术是Model-View-ViewModel,如下所示:
模型-视图-控制器是封装程序不同部分的常用方式之一,但这并不是唯一的方式;还有许多其他选择。例如,许多GUI系统使用小部件+样式而不是视图+控制器。综合功能大致相同,但责任的分离略有不同。在小部件+样式中,每个小部件的视觉表示与其操作紧密关联(有点像一堆微小的视图+控制器系统)。应用程序的整体外观和感觉由样式确定(这就使得视觉系统具有凝聚力,而在MVC中,视图是使视觉系统具有凝聚力的因素)。
MVC非常普遍,因为它通常易于理解和维护,并且广泛适用。我的建议是要学好它并经常使用它。但我也警告不要让它成为你的“锤子”(当你只有一把锤子时,所有东西都开始看起来像钉子)。了解其他选项并在适当时使用它们。