Topic: !!请教高手:有没有人知道MVC是什么啊?

  Print this page

1.!!请教高手:有没有人知道MVC是什么啊? Copy to clipboard
Posted by: 鸭片儿鱼
Posted on: 2005-08-07 15:02

!!请教高手:有没有人知道MVC是什么啊?——————

2.Re:!!请教高手:有没有人知道MVC是什么啊? [Re: 鸭片儿鱼] Copy to clipboard
Posted by: xhxasdf
Posted on: 2005-08-18 09:39


这个不知道,先不要搞设计模式~
不然很会糊涂的~

3.Re:!!请教高手:有没有人知道MVC是什么啊? [Re: xhxasdf] Copy to clipboard
Posted by: beyond1984
Posted on: 2005-08-18 11:52

说起来,也不是一句两句,MVC---model view controler模型视图控制器,model就是数据对象;view容易理解,就是显示的方式,如文档或者图形等;而controler就是封装数据对象的控制器,提供数据对象同视图间的交互。是Observer模式的一个例子。即有很多Observer----view在观察model。当 model变化时,会通过controler通知Observer---view,让他们更新状态。
用的最最多的地方是多视图结构的程序。简单点,有一个数据对象,你想显示它,有可能需要用条状图、饼状图、数字显示。原始的想法是,通过添加数据对象的方法,直接与视图交互,但是一旦多了一种显示方式,就必须添加一个方法。(这已经很理想了)很显然,不利于维护,也会使得数据对象过于庞大。采用MVC,最底层的就是数据了,其上是controler,model只用与controler打交道,就能更新所有的View了。

4.Re:!!请教高手:有没有人知道MVC是什么啊? [Re: 鸭片儿鱼] Copy to clipboard
Posted by: ds818134
Posted on: 2005-10-29 15:21

MVC是WEB开发的框架。在开发中一般都用STRUTS来进行。。
V就是视图也就是JSP等网页。M就是模型也就是应用程序或商业逻辑。C就是控制器也是就是sevlet.

5.Re:!!请教高手:有没有人知道MVC是什么啊? [Re: 鸭片儿鱼] Copy to clipboard
Posted by: sothis
Posted on: 2005-11-03 10:55

MVC不光是WEB开发框架,是一种架构模式。在系统开发的很多领域多有运用。
最早在X-Window开发中用到,在MFC中也有MVC概念大量运用。
M代表系统,V代表界面,C代表两者之间的映射

6.Re:!!请教高手:有没有人知道MVC是什么啊? [Re: 鸭片儿鱼] Copy to clipboard
Posted by: hanibal
Posted on: 2005-12-08 08:26

(转载)  
MVC弥补可视化接口/OOD的不足

  模型/界面/控制器(Model/View/Controller,MVC)编程技术允许一个开发者将一个可视化接口连接到一个面向对象的设计中,而同时还可以避免我们上面讨论的几个问题。MVC最初是为Smalltalk语言而设计的。MVC通过创建下面三个层将面向对象的设计与可视化接口分开:

  模型(Model):模型包含完成任务所需要的所有的行为和数据。模型一般由许多类组成并且使用面向对象的技术来创建满足五个设计目标的程序。

  界面(View):一个界面就是一个程序的可视化元素,如对话框、选单、工具条等。界面显示从模型中提供的数据,它并不控制数据或提供除显示外的其它行为。一个单一的程序或模型一般有两种界面行为。

  控制器(Controller):控制器将模型映射到界面中。控制器处理用户的输入,每个界面有一个控制器。它是一个接收用户输入、创建或修改适当的模型对象并且将修改在界面中体现出来的状态机。控制器在需要时还负责创建其它的界面和控制器。

  控制器一直决定哪些界面和模型组件应该在某个给定的时刻是活动的,它一直负责接收和处理用户的输入,来自用户输入的任何变化都被从控制器送到模型。

  界面从模型内的对象中显示数据。这些对象的改变可以通过也可以不通过用户的交互操作来完成。如:在一个Web浏览器中负责接收页面的对象收集和装配栈中的信息,必须有某种方式来让这些对象通知界面数据已经被改变了。在模型变化时有两种方法来对界面进行更新。

  在第一种方法中,界面可以告诉模型它正在监视哪些对象。当这些对象中有任何一个发生变化时,一个信息就被发送给界面。界面接收这些信息并且相应地进行更新。为了避免我们上面讨论的不足,模型必须能够不用修改就支持许多种不同的界面显示。

  第二个方法并不直接将界面连接到模型中,它的控制器负责在模型变化时更新界面。控制器通过对模型对象或观察器方法进行监测来检测模型中的变化。这个方法不用了解界面的模型知识,因此界面就变成是可以跨应用使用的。

  使用MVC的优点

  MVC通过以下三种方式消除与用户接口和面向对象的设计有关的绝大部分困难:

  第一,控制器通过一个状态机跟踪和处理面向操作的用户事件。这允许控制器在必要时创建和破坏来自模型的对象,并且将面向操作的拓扑结构与面向对象的设计隔离开来。这个隔离有助于防止面向对象的设计走向反面。

  第二,MVC将用户接口与面向对象的模型分开。这允许同样的模型不用修改就可使用许多不同的界面显示方式。除此之外,如果模型更新由控制器完成,那么界面就可以跨应用再使用。

  最后,MVC允许应用的用户接口进行大的变化而不影响模型。每个用户接口的变化将只需要对控制器进行修改,但是既然控制器包含很少的实际行为,它是很容易修改的。

  面向对象的设计人员在将一个可视化接口添加到一个面向对象的设计中时必须非常小心,因为可视化接口的面向操作的拓扑结构可以大大增加设计的复杂性。

  MVC设计允许一个开发者将一个好的面向对象的设计与用户接口隔离开来,允许在同样的模型中容易地使用多个接口,并且允许在实现阶段对接口作大的修改而不需要对相应的模型进行修改。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923