我不能什么神交视是什么心态或编程模型应当我获得这样软的东西可以立即"灯泡"在我头上?如果不是立即,有什么简单的计划/项目应当我试图做的第一个这样我就可以适用于整齐的事情视带来了方案编制。

面向对象是直观的和更加容易,对象是的所有我们周围和益处的代码重复利用使用面向对象的范例即刻击任何人。你可以跟任何人有关面向对象在一个几分钟,演讲的一些实例,他们将得到它。同时面向对象以某种方式提出的直觉方面的节目,视似乎相反。我越来越负面的想法,未来的一些雇主(或者甚至客户)会瞧不起我对不使用软技术。

虽然我可能会得到的 换肤 方面的视,但是当我试图把它应用到自己的项目,我不知道从哪里开始。

还有一些程序,甚至有不同的看法就如何完成视正常。

采取这种例从杰夫的职位有关软:

看只是你如何放的 数据出,它是如何显示。如果你 想要一个子集的一些数据, 例如,我认为这是一个 责任的模式。

因此,也许一些程序员使用软,但不知何故,他们无意使用视或控制器中提取数据的子集。

为什么我们不能有一个明确的定义是什么以及如何完成视是否正确?

而且,当我搜索软.净节目,它的大多数适用于网方案,不桌面应用程序,这个阴谋,我进一步。我的猜测是,这是最有利的网络应用程序,没有太多的问题有关混合图(html)和控制(程序代码)在桌面应用程序。

有帮助吗?

解决方案

我喜欢马丁福勒所说的方式:)

http://martinfowler.com/eaaCatalog/modelViewController.html

..和从 http://martinfowler.com/eaaDev/uiArchs.html

  

径模型 - 视图 - 控制器,例如,它通常被称为一种模式,但我不觉得它非常有用把它作为一个模式,因为它包含了很多不同的想法。不同的人在不同的地方阅读有关MVC从它采取不同的想法,并描述这些为“MVC”。如果不引起足够的混乱,你再拿到MVC的误解,通过中国耳语制度发展的影响。

其他提示

您可以通过阅读答案这个问题启动。

MVC倒是的WebApp很好。大多数Web应用程序的从数据库,处理得到的数据,它只是一点点,他们展示给用户。 DB是型号级别,控制器就处理和视图只是发出的HTML代码。

有些人认为控制器应该只是从模型中获取数据,并喂到视图,但我认为这意味着该控制器是无用的,因此它只是MV编程模型:) 但我理解他们,如果你使用某种处理,你要使用它不止一次,因此这是更好地做到这一点在模型级别,可以这样的应用程序不同部分之间共享。

您不必使用MVC的桌面应用程序,其实,我不知道这种模式将巨额的应用程序,其中台式机的人通常是工作。很多时候,你需要使用“组件”,你可以喂相同的数据并获得相同的UI出来的,但在应用程序的不同部分的事情,它只是导致与MVC各地复制代码。

我找到了MVC模式往往很多过于臃肿。一个简单的模型/视图(不控制器)是更容易理解和更容易实现。

大多数人都明白,一些类保存数据(模型)和逻辑加载/保存数据和另一类显示数据(图)。 给它一些胶水加载一个文件(像一个文件管理器),和你做。

一个“典型的”MVC 实现将具有:

  • 视图 - 呈现数据供最终用户查看,并为他们提供用户界面对象以与数据交互(但不处理该交互)
  • 控制器 - 处理用户交互以及视图和模型之间传输的数据的操作
  • 模型 - 处理数据的存储以及应用程序数据的表示

MVC 模式的常见用途是 Web 应用程序的视图部分的 HTML/CSS/浏览器渲染、充当控制器的 PHP/脚本语言应用程序级别以及充当模型的 MySQL 或类似数据库(可能是或者前面可能没有某种 ORM 框架)。

事实上,很少有人以这种格式使用 MVC,并且有充分的理由(在我看来)。不同的应用有不同的需求和设计要求,根据需要调整模式是有益的。如今,“MVC”似乎更多地描述了隔离应用程序各层的框架的用法,而不是特定的模型-视图-控制器模式。

从雇主的角度来看,真正需要的(通常)是抽象层以及来自构建 n 层应用程序的经验。当您不再使用一个应用程序时,会发生相当大的心理跳跃,该应用程序不仅可以分为垂直功能,还可以分为水平功能层。

需要注意的是,换肤实际上只是一个特定层的一个方面,您可以更改模型层的数据源、控制器层操作该数据的方法(例如新算法),并逐渐推出它们,而无需更改其他层。

也许继维基百科文章可以参考你更实现。它具有指向实现的GUI框架

MVC是一个模式,并将其与OOP运作良好,两者并不排斥 - 我说他们是正交的。 MVC模式试图分开的数据(M)的显示用代码(V)和控制(C)的流动。

如果你搜索“MVC净”,你几乎肯定会获得很多次的Web应用程序,因为ASP.Net MVC框架是最近才发布,这是MVC模式ASP.Net编程的应用,因此,它是用于开发网站。正如你建议没有理由不向桌面应用程序也适用的模式。

如果您有MVC硬时候,我会建议读了一般模式,以获得人们如何谈论使用模式的建模问题/解决方案,然后再看看MVC更详细的感觉。

修改按参考福勒提示,他的书企业应用Architectur的模式 e是对MVC等图案读了一个很好的地方。

该视模式的一种方式打破应用程序分成三个部分:该模型,查和控制器。视的最初发展到地图传统输入、处理、出入角色 GUI 领域。

用户输入,该模型的外部世界,以及视觉的反馈,向用户分开处理的模型,视和控制对象。控制器解释鼠标和键盘输入从用户和地图,这些用户行为的命令发送给模型和/或视作适当的改变。该模型管理一个或多个数据元,响应查询关于其状态,并应说明变化的状态。视区管理着一个长方形的区域显示,负责提出数据的用户通过组合的图像和文字... 阅读更多 甚至 更多.

在其核心,MVC是关注点分离的只是一个具体的情况:一个代码块是负责存储数据,一个第二组块负责操纵数据,和第三取与用户交互的服务。

任何这些块可以以面向对象的方式实现,或不 - MVC和OOP是正交的。 (虽然,在我的经验,MVC应用程序和框架都是极有可能是OO。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top