`
otom31
  • 浏览: 229653 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

关于MVC和ajax的思考

阅读更多
要想对这个发表一些看法,那还是先度娘一下,看看官方对MVC的解释:

MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

补充解释:
Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。

ajax就不用解释了,大家都懂的,新瓶装旧酒,最大的特点就是不重刷页面的同时,改变我们界面上的数据和信息;

在AJAX或者说基于AJAX的界面框架诸如EXTJS,EDOJS等等出来之前,咱们开发WEB应用,是怎么回事呢?
用过STRUTS的人都知道,JSP就是VIEW,用来显示界面和用户交互,controller 就是对用户的请求事件处理,并决定改该用什么model 该怎么 view 。


当AJAX的框架出现之后,我想整个WEB应用开发(我这里强调的是企业应用而非网站),咱们的VIEW 和 controller 的位置发生了变化:

view 交给了 js 来处理, controller 也可以认为交给了 js 来处理,而我们的webserver 就是一个 model 的接口,或者说是一个数据和业务逻辑的接口;
那么 controller 被分成了用户事件 和业务逻辑,一个在JS中,一个在服务器端;


这样一来咱们可以从新来定义基于AJAX 的MVC模式:
1.用户界面:由EXTJS来绘制
2.用户事件:由JS来处理,并转化为服务器端事件;
3.业务数据服务:收到来自JS客户端的数据和事件,作出相应的回应;

有趣的事情发生了,看看这个,是不是和我们的CS模式架构类似呢?
这样一来咱们又回到了CS模式时代,区别就是以前的CS的C端是VB,.NET 通过数据库连接,通过socket 或者其他方式和数据库服务端联系;
现在咱们的C端采用的是JS来实现,并且通过AJAX来和服务器端通信,中间传输的是XML 或者JSON或者其他格式的数据;
万变不离其中啊,还是重复不知道某位达人说的话,大意如下:
只要心中有MVC,自然就MVC了,只要心中有设计模式,不需要你来想该用何种模式!


咱们做开发最忌思维僵化,身板硬套,为了用某种技术而用它;
技术是我们解决业务问题的基础,这是必须具备的,但是不要成为我们解决实际问题的障碍!

大家共勉!
分享到:
评论

相关推荐

    Ajax技术地图

    MVC模式通过分离关注点,提高了代码的复用性和可测试性,尤其在Web开发中,结合Ajax技术,可以实现更为复杂的前端交互,同时保持后端逻辑的清晰和稳定。 #### Web标准与MVC:碰撞出的火花 然而,Web-MVC模式并非...

    【卷一/共两卷】AJAX实战pdf高清版90M

    目录 第一部分 重新思考Web应用 第1章 一种新的Web设计方法 1.1 为什么需要Ajax富客户端? 1.1.1 比较用户体验 1.1.2 网络延迟 1.1.3 异步交互 1.1.4 独占或瞬态的使用模式 1.1.5 忘掉Web ...附录C Ajax框架和库

    JSP经典论坛系统,供新手下载研究学习,使用MVC架构

    5. **优化与改进**:思考如何优化代码结构,提升用户体验,比如添加AJAX异步加载、引入前端框架等。 总之,这个JSP经典论坛系统是一个很好的实践平台,有助于你深入理解Web开发中的关键概念和技术,为今后的项目...

    AJAX基礎培訓.ppt

    AJAX开发要求开发者具备更全面的技能,包括理解MVC(Model-View-Controller)架构,处理客户端和服务端的边界问题,以及如何利用异步通信改进用户界面。开发者需要重新思考如何构建Web应用,将它们视为单一页面应用...

    PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc

    在谈论Web 2.0应用平台的关键时,Rasmus强调API的重要性,认为应用平台的基础是API,它们驱动Ajax和Web 2.0网站的交互。他强调,规划解决问题的方式比单纯关注性能更能决定网站的扩展性。为了实现扩展性,他建议将...

    spring mvc介绍

    它提供了模型-视图-控制器(MVC)架构,帮助开发者将业务逻辑、数据展示和用户界面分离,从而实现高效且可维护的代码结构。 在Spring MVC中,模型由Java对象组成,它们通常代表应用程序的数据。视图负责渲染这些...

    Web表现层跑完龙套唱主角.pdf

    Web 表现层跑完龙套唱主角 本文主要讲解了 Web 表现层的价值和重要性,特别是随着 AJAX 的出现,Web 表现层的价值...AJAX 对 Web 开发模式的冲击和影响非常巨大,迫使开发者重新思考和定位 Web 表现层的角色和价值。

    上传和预览图片

    作者通过业余时间完成,说明这个项目经过了深入思考和实践,确保了代码的实用性和可读性。 【标签】:“.net mvc” ASP.NET MVC是微软开发的一个开源Web应用程序框架,它使用模型-视图-控制器(MVC)设计模式,...

    Java网站建设程序员简历模板.doc

    - J2EE MVC模式:熟练应用J2EE MVC模式,能够提升系统的可维护性和可扩展性。 - Struts + Hibernate + Spring框架:熟悉这些轻量级框架,能够进行高效开发。 - AJAX与DWR:掌握AJAX技术,通过DWR框架增强用户交互...

    initphp_3.6.zip_Action!

    InitPHP采用了分层体系架构,在MVC模式基础上进行延伸!详细的API文档和使用Zend studio开发代码提示,让您开发更加速度!我们对每一个框架函数进行了思考,用简单...5. ajax_return 添加json和xml的HTTP Content-type

    ASP.NET通用作业批改系统设计(源代码+论文).zip

    7. **AJAX与jQuery**:为了提供更好的用户体验,系统可能会使用AJAX进行异步更新,jQuery库可能被用来简化DOM操作和事件处理。 8. **响应式设计**:考虑到不同设备的访问,系统可能使用Bootstrap或其他响应式框架,...

    java简历模板

    在项目中,开发者负责编码和测试,使用了MVC框架,结合Ajax实现页面局部更新,利用Cookie和Session管理购物车,展现了实际开发和调试技能。 7. **能力描述**:强调独立思考、解决问题和查阅技术资料的能力,这是...

    asp人事工资管理系统(源代码+论文).rar

    学生需要撰写关于系统架构、数据库设计、功能模块、性能优化等方面的内容,以展示对项目的全面理解和深入思考。 在学习和研究这个【压缩包】时,你可以关注以下几个方面: 1. **系统架构**:了解系统采用的开发...

    java实习日记和实习报告(附心得).docx

    通过这次实习,我在理论知识与实践技能上都有了显著提升,不仅掌握了Java编程和Web开发的基本技能,还学会了如何在团队中协作,理解了软件开发的流程和思考方式。这些都将为我毕业后顺利进入职场并高效工作打下坚实...

    关于ruby的几本电子书

    这里提到的两本书籍——"the ruby way.chm"和"rubyonrails2204.pdf",很可能是关于Ruby语言和Ruby on Rails框架的深入学习资源。 1. "The Ruby Way":这本书通常被看作是Ruby编程的权威指南。它深入探讨了Ruby语言...

    WEB前端简历模板14.doc

    * ‘开饭啦’订餐系统开发:使用 AngularJs 框架,采用 MVC 模型特点,创建 index 页面和多个分页面 * HTML5 实现本地时间计时动画:使用 HTML5 和 JavaScript 技术,画出小球图形,实现 rgb 跑马灯式计时及小球流动...

    传智播客面试宝典

    例如,解答关于AJAX的问题,首先要解释AJAX的核心概念,即异步数据交换,然后阐述它如何实现局部刷新,提高用户体验,以及在处理如用户名验证、级联下拉列表等场景中的应用。同时,指出使用AJAX需要注意的性能和安全...

    asp.net网络开发实例

    ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了强大且...记得在学习过程中,不仅要关注代码实现,还要思考背后的逻辑和设计原则,这样才能更好地掌握ASP.NET网络开发。

Global site tag (gtag.js) - Google Analytics