`
庄表伟
  • 浏览: 1150223 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

结构、表现、行为与MVC的关系

阅读更多

  结构(Structure)、表现(Presentation)、行为(Behavior),是Web开发标准中的一个重要概念(以下简称SPB)。而模型(Model)、视图(View)、控制器(Controller)的MVC模式呢,是图形界面应用的重要模式之一,自然也广泛的用在了Web应用的开发之中。

  最近热门起来的Ajax技术,又刺激了人们对于MVC模式的更多思考。本文的很多观点得到了jasonhsu的一篇论文《基于递归MVC结构的Web应用软件分析模式》的启发,特此感谢。

 

  现在我们要考虑技术范畴:SPB、MVC与Ajax之间的相互关系,或者说,在采用Ajax技术的Web应用中,SPB与MVC之间,应该是怎样的一种关系。

  左边是一个标准的SPB模型,结构通过CSS渲染之后,显示给用户。JavaScript可以通过DOM API以及DOM Event与结构交互。

  右边则是我将JavaScript部分放大之后的情况。

 

  大致上,我们写一个稍微复杂一些的Ajax应用的时候,JavaScript部分,就应该一分为三。一部分是用来做DOM与Style控制。另一部分则专心与Server打交道,通常就是用XMLHTTP了,然后将获取的数据,在浏览器中构建一个Model层。再一部分就是表现层的业务逻辑,主要需要处理各种Event,做出正确的反馈。

 

  这样的三个部分,顺理成章的,也就成了Browser中的MVC了。

 

  写完这点东西之后,我再次看了一下jasonhsu的文章,以及Ajax in Action中的第四章《The page as an application》,发现我的思路似乎与Ajax in Action中的思路几乎完全一致,而与jasonhsu的有所差别。

 

  虽然人家已经说了,不过我毕竟是自己想通了这一层的,嘿嘿。

分享到:
评论

相关推荐

    MVC模式 MVC组件类型的关系和功能

    MVC模式常常与其他设计模式相结合,如: - 观察者模式(Observer Pattern):用于在模型和视图之间建立双向绑定,模型变化时通知视图更新。 - 策略模式(Strategy Pattern):控制器可以根据不同情况选择不同的处理...

    HTML5+MVC3整合实例源码

    Repository文件夹可能包含数据访问层的代码,这通常涉及到与数据库的交互,如Entity Framework或其他ORM(对象关系映射)工具的使用。而Model文件夹则可能包含业务模型类,它们封装了业务逻辑和数据验证规则。 ...

    MVC模式与三层架构结合

    【MVC模式与三层架构结合】的架构设计是一种在软件开发中广泛应用的高效方法,它结合了MVC(Model-View-Controller)模式和传统的三层架构(表现层、业务逻辑层、数据访问层)。这种结合使得系统具有更好的可扩展性...

    C#mvc七层(适合初学者使用)

    1. **表现层(Presentation Layer)**:这一层与用户直接交互,通常由ASP.NET MVC中的控制器(Controllers)和视图(Views)组成。控制器接收用户请求,处理后转发到相应的业务逻辑层,视图则负责呈现数据。 2. **...

    Spring MVC总结.doc

    这个类强化了MVC中的Model概念,使得数据和视图之间的关系更清晰。在Struts中,有时需要在Action中手动处理模型数据的传递,而`ModelAndView`则简化了这一过程,使得程序逻辑更加整洁。 3. **扩展性** Spring MVC...

    ACCP 5.0 Y2 MVC和Struts2本书的选择题答案

    MVC模式强调了职责分离,有助于团队协作,而Struts2提供了实现MVC模式的便利工具和结构。开发者需要熟悉Struts2的配置文件,如struts.xml,以及如何创建Action类和ActionForm(在较早版本中)来处理请求。此外,了解...

    [其他类别]Struts+Hibernate实现MVC_strutsmvc.zip

    总的来说,这个压缩包提供的示例项目可以帮助学习者深入了解Java Web开发,特别是Struts和Hibernate的结合使用,以及如何通过MVC模式组织应用程序结构。对于初次接触这些技术的学生,这是一个很好的学习资源,可以...

    ASP.net MVC项目部署的步骤

    1. **创建项目结构**:首先建立一个主要的ASP.NET MVC项目,接着创建一个子项目和一个类库项目。例如,本例中的`MvcAppMain`作为主WEB项目,`AreasDemo`作为子项目,而`MVCControllers`则为类库项目。 2. **添加...

    MVC基本概念[借鉴].pdf

    MVC模式与其他设计模式相结合,如组合模式(Composite Pattern)用于构建视图的结构,观察者模式(Observer Pattern)用于保持模型和视图的同步,策略模式(Strategy Pattern)用于控制器的行为,以及调解者模式...

    基于ASP.net MVC的智能名片后台系统的设计与实现.pdf

    3. 数据统计与分析:系统提供统计报表,分析名片的访问频率、分享情况等,帮助企业了解客户行为。 4. 多终端同步:移动设备和PC端的名片信息实时同步,确保用户在任何设备上都能访问最新信息。 5. 共享与活动记录:...

    基于MVC模式的尾矿库信息化监控系统的分析与设计.docx

    MVC模式是一种面向对象的设计模式,最早在Smalltalk-80中引入,主要用于创建可重用的界面程序,它将应用程序分为模型、视图和控制器三个部分,以实现数据和表现的分离,提升系统的可维护性和伸缩性。 **MVC模式详解...

    《软件系统设计与体系结构》复习大纲.doc

    - **软件体系结构**:软件体系结构是指一个软件系统的高层次结构及其组成部分之间的关系。理解软件体系结构对于软件的设计、实现和维护至关重要。软件体系结构的研究内容包括但不限于体系结构的模型、设计原则、评估...

    软件体系结构概述

    #### 软件危机的根源与软件体系结构的兴起 软件体系结构作为软件工程领域的一个重要概念,其诞生和发展是为了解决长期困扰软件行业的“软件危机”。软件危机主要表现为软件成本的不断攀升、开发进度难以控制、软件...

    人事管理系统ASP.NET源码 带数据库及其结构图

    7. **业务逻辑层(BLL)**:处理业务规则和逻辑,如计算员工工资、审批流程等,与数据访问层和表现层(UI)相隔离。 8. **用户体验**:ASP.NET提供了多种控件和模板,可以快速构建用户友好的界面,如GridView、...

    软件体系结构复习(修改版).docx

    例如,MVC(模型-视图-控制器)风格保证了模型和用户界面的一致性,而正交软件体系风格强调线索间的独立性,常表现为层次化结构。此外,还有消息总线风格(HMB)和PAC(协议-代理-控制器)等,它们定义了不同类型的...

    基于oracle的分布式客户关系管理系统分析与设计.doc

    【基于Oracle的分布式客户关系管理系统分析与设计】 在信息技术飞速发展的今天,客户关系管理(CRM)系统已经成为企业提升竞争力的重要工具。本设计主要探讨的是如何利用Oracle数据库技术构建一个分布式CRM系统,以...

    客户关系拓展管理系统

    ASP.NET的MVC(模型-视图-控制器)模式使得代码结构清晰,有利于模块化开发和后期维护。 C#是一种现代化的面向对象编程语言,尤其适合开发大型、复杂的企业级应用。在这个系统中,C#可能被用来编写业务逻辑层,处理...

Global site tag (gtag.js) - Google Analytics