`
WilliamLiu
  • 浏览: 27357 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

MVC模式及MVC1和MVC2模式的区别

阅读更多

    MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。如下图:

 

File:ModelViewControllerDiagramZh.png

    MVC模式在具体的应用中,又分为MVC1和MVC2模式。下面分别说说这两种模式的概念、应用方向和主要区别。

 

1.MVC1模式

    View接受用户输入,并传递到Controller。

    Controller统一进行处理命令,交由Model处理具体的业务。

    经过处理Model更新后,通知View进行更新。

 

    这种模式主要用于桌面程序,使用观察者模式实现,具体来说就是让View观察Model,而用户交互控制的地方用匿名类的方式统一放在Controller中。像MFC的frame-document-view架构,如果document改变了,他会主动通知View进行update。但是在WEB应用程序中,Model(在Java中通常是JavaBean)的数据更新后,无法通知View进行更新(View在Java中通常是非常多JSP页面,需要选择一个),因此,在WEB应用程序中应该使用下面这种模式:MVC2模式

 

2.MVC2模式

    View接受用户输入,并传递到Controller。

    Controller统一进行处理命令,交由model处理具体的业务。

    经过处理的Model更新后,Controller会选一个View并把Model内容传递(request,session)给它(forward)。然后View进行显示。

 

3.区别

    可以看到,Model是否能主动通知View就是MVC1和MVC2模式的主要差别。桌面程序可以做到,所以使用MVC1;Web程序由于Http协议的限制做不到,所以使用MVC2。

分享到:
评论
1 楼 yywu 2009-12-30  
不错,受教了,以下还有不同的说法:
http://www.iteye.com/problems/14987

相关推荐

    运用MVC模式及观察者模式的java小程序

    在这个名为“运用MVC模式及观察者模式的java小程序”的项目中,我们重点探讨了两种经典的设计模式:Model-View-Controller(MVC)模式和Observer(观察者)模式。这两种模式在JavaWeb开发中扮演着至关重要的角色。 ...

    MVC模式和Struts框架

    MVC模式和Struts框架

    三层架构和MVC模式区别

    本文旨在深入解析三层架构与MVC模式的区别,帮助开发者更好地理解和运用这两种模式。 ### 三层架构概述 三层架构,也被称为n-tier架构,是一种将应用程序分为三个独立部分的设计模式,旨在提高代码的可重用性、可...

    MVC设计模式例子程序

    **MVC设计模式详解** MVC(Model-View-Controller)设计模式是一种广泛应用于软件开发,尤其是Web应用程序中的架构模式。...在实际开发中,理解并熟练运用MVC模式能够有效提升软件的质量和开发效率。

    经典mvc模式开发好

    1. **分离关注点**:MVC模式将应用程序的不同组件职责分离,使得开发人员可以专注于各自领域的代码编写,提高工作效率。 2. **模块化**:每个组件可以独立开发、测试和维护,降低了复杂性。 3. **可重用性**:视图和...

    java中MVC设计模式

    MVC 模式将应用程序分为三个主要部分:Model(模型)、View(视图)和 Controller(控制器),每个部分都有其特定的职责和功能。 MVC 模式概述 MVC 模式的主要思想是将应用程序分离成三个相互独立的部分,分别是 ...

    mvc设计模式和模板模式ppt

    #### 六、MVC模式与MVC框架的区别 - **MVC模式**:是一套设计模式,强调的是设计问题的解决方案。 - **MVC框架**:是一种实现MVC模式的具体工具或平台,它提供了一套预先定义好的组件和服务,开发者可以根据需要...

    mvc模式mvc模式

    MVC模式作为一种经典的设计模式,通过明确的职责划分和松散耦合的设计理念,极大地提升了软件项目的可维护性和可扩展性。无论是初学者还是经验丰富的开发者,理解和掌握MVC模式都是非常有价值的。

    MVC模式图

    MVC设计模式通过将应用程序分为模型、视图和控制器三个层次,实现了良好的解耦效果,提高了系统的灵活性和可维护性。对于复杂的应用程序来说,采用MVC模式能够显著提升开发效率并降低后期维护的成本。希望以上的解析...

    mvc模式(软件架构思想)

    在实际开发中,MVC模式往往通过特定的框架来具体实现,例如Struts框架就包含了Model1和Model2两种模式: 1. **Model1**:较简单的MVC实现,视图和控制器的功能较为融合,通常用于较小规模的应用。 2. **Model2**:...

    MVC模式(求三角形面积、计算).pptx

    MVC 模式是软件设计中一种非常重要的模式,它将软件或组件分为三个部分:模型(Model)、视图(View)和控制器(Controller)。这种模式已经 menjadi 必备的开发模式之一,广泛应用于 Web 开发、移动应用开发等领域...

    C++的MVC模式简单示例

    MVC(Model-View-Controller)模式是一种软件设计模式,广泛应用于构建用户界面,特别是在Web开发和图形用户界面(GUI)应用中。C++作为一个强大的面向对象编程语言,同样可以利用MVC模式来组织代码,提高软件的可...

    (1)MVC模式与ASP.NET MVC框架概述

    MVC(Model-View-Controller)模式是一种广泛应用于Web开发的设计模式,它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于实现代码的解耦,提高可维护性和可测试性...

    网上购买图书案例MVC模式

    在这样的系统中,MVC模式帮助我们有效地分离业务逻辑、数据处理和用户界面,使得代码更易于维护和扩展。 **Model(模型)**: 模型层是应用程序的核心部分,负责处理业务逻辑和数据操作。在本案例中,模型可能包含...

    基于 MVC 模式的博客(BLOG)系统的设计与实现

    通过采用MVC设计模式和Struts框架,该系统能够有效地分离业务逻辑、数据管理和用户界面,从而简化了开发流程并提高了系统的可扩展性和可维护性。此外,UML建模技术的应用也有助于更好地理解和规划系统的整体结构。 ...

    MVC模式应用Demo

    1. **分层结构**:MVC模式将应用程序划分为三个层次,每个层次都有明确的职责,降低了复杂性。 2. **高可复用性**:由于各部分职责分明,组件可以独立重用,如View可以独立于Model和Controller更新。 3. **易于维护*...

    MVC设计模式详解

    1. **分离关注点**:MVC模式将数据处理、业务逻辑和用户界面分开,使得开发者可以专注于各自领域的代码编写,提高开发效率。 2. **可维护性**:由于各部分职责明确,修改一处不会影响其他部分,有利于代码的维护和...

    WPF / Mvvm模式及MVC模式示例

    **WPF/Mvvm模式及MVC模式示例** 在软件开发中,选择合适的架构模式对于项目的可维护性和扩展性至关重要。本示例将探讨两种常用的设计模式:Model-View-ViewModel (MVVM) 和 Model-View-Controller (MVC),它们在C# ...

    MVC模式网上书店系统

    综上所述,“MVC模式网上书店系统”结合了MVC设计模式的灵活性和MySQL、Tomcat的技术优势,构建了一个功能完备、性能良好的在线图书销售平台。无论是对于学习MVC模式还是实际项目开发,都是一个极好的实践案例。

    MVC开发模式详解

    MVC 模式的优点是它能够使应用程序的输入、处理和输出分开,从而使得代码变得更加灵活和易于维护。此外,MVC 模式还能够使得应用程序的开发和维护变得更加简单。 在 Struts 框架中,MVC 模式被广泛使用。Struts ...

Global site tag (gtag.js) - Google Analytics