当前位置: 首页 > news >正文

南宁优质手机网站建设公司广东宣布即时优化调整

南宁优质手机网站建设公司,广东宣布即时优化调整,龙城网站建设,做网站注册公司MVC发展史 在我们开发小型项目时,我们代码是混杂在一起的,术语称为紧耦合。 如最终写ASP、PHP。里面既包括服务器端代码,数据库操作的代码,又包括前端页面代码、HTML展现的代码、CSS美化的代码、JS交互的代码。可以看到早期编程就…

MVC发展史

在这里插入图片描述

在我们开发小型项目时,我们代码是混杂在一起的,术语称为紧耦合。
如最终写ASP、PHP。里面既包括服务器端代码,数据库操作的代码,又包括前端页面代码、HTML展现的代码、CSS美化的代码、JS交互的代码。可以看到早期编程就是一锅粥,造成代码晦涩难懂,小项目很好,开发快捷,这就是小型网站为何大家非常细化用PHP,开发效率高。但大项目就变得难以维护,同时UI和前端工程师是无法工作的,无法团队分工配合。因为他们不懂后端代码,让他们改,会直接把代码搞乱套。

怎么解决呢?开始出现分层体系架构。

第一代:微软的ASP+COM+实现两层架构

微软出品,ASP负责页面代码,COM+负责后端服务器代码。经过分离后开发者责任更加清晰,这就降低了维护难度,降低了耦合度。
但这个架构不够成熟,只体系了分层架构思想,但ASP的责任还是过多,COM+需要手动在window系统中注册,本人刚工作就负责干这个,那段痛苦的经历不堪回首。

第二代:SUN的Model1体系出炉

随着java开始流行,市场逐渐由ASP像JSP过渡。针对ASP+COM+的架构,SUN公司就推出了JSP+JavaBean的架构,称之为Model1。

Model1 模式十分简单,它使用 JSP 页面和 JavaBean 相结合的方式,由 JSP 页面来接收客户端请求,用 JavaBean 或其他服务完成业务逻辑、数据库操作和返回页面。JavaBean 是指能完成特定功能的 Java 类。
在这里插入图片描述
可以看到Model1其实并无什么太多的优点,其实只是抄袭和借鉴了ASP+COM+改为java实现而已。
虽然部分工作交给了JavaBean很轻量级的业务逻辑,但大多数工作还是集中在JSP中,职责不单一,职责过多过重,代码交织,如前端HTML展现代码、CSS的页面美化、JS的页面交互、数据库的处理。

于是进一步演化,推出了Model2体系

第三代:SUN的Model2体系出炉,标准MVC体系建立

Model1 虽然在一定程度上实现了解耦,但 JSP 依旧即要负责页面控制,又要负责逻辑处理,职责不单一。
Model2 应运而生,它又加了一层,形成三层架构,使得各个部分各司其职。
Model2 基于 MVC 模式:
(1)Controller:应用程序中用户交互部分(Servlet)
(2)Model: 应用程序数据逻辑部分(JavaBeans)
(3)View: 数据显示部分(JSP)

可见多了一个Servlet,它形成了前端和后端的交互。前端请求Servlet处理,在交给JavaBean处理业务逻辑访问数据库,将加工的结果返回给JSP,最终JSP进行页面展现。
在这里插入图片描述
虽然简单的只加了一层,但结构更加清晰,职责更加单一,MVC架构趋于成熟。

第四代:Struts1对MVC进行改进

Struts1 出现的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间,使用Struts1可以提高系统的维护和开发效率,我们只需要配置和编码实现Action和ActionForm就可以了。

Struts1的出现,使我们面向Servlet开发变为面向Action.do和ActionForm编程。Action替代Servlet,ActionForm封装数据模型。
同时又衍生出JSP页面的taglib库,来增强页面HTML的表现能力。

在这里插入图片描述

Struts1的成功又引入了Struts2蹭热度,它本质和Struts1无关,其核心是基于WebWork进行设计,但Struts1的名气太大了,它来蹭热度,蹭流量。
当然不是你想蹭就能蹭的,它又改进了Struts1功能。

当时Struts1有个致命弱点,就是Struts1仅有一个Action的实例来处理所有请求,就会产生一个致命问题线程安全问题,当并发量高时就会出现错乱。而Struts2另辟蹊径,它为每一个请求产生一个实例,因此天生就没有线程安全问题。

Struts1整合了JSTL,而Struts2不仅整合了JSTL,还支持OGNL表达式,让开发功能更加强大。

第五代:Struts2对Struts1进行改进

虽然那个时代大家都开始使用OGNL但今天回头来看是否是一个明智的选择呢?
OGNL过于复杂,晦涩难懂,而且造成致命的漏洞,后期压死Struts2的就是致命的漏洞。
Struts2 的安全漏洞,让不少大小公司吃尽了苦头,慢慢磨掉了用户的信心。

第六代:SpringMVC王者

最终Spring已经逐渐发展成熟,它在无法忍受Struts2,而推出了SpringMVC。而又随着注解方式的推出,
SpringMVC利于注解方式和自动封装方式一下打败了Struts2,让很重的Struts2(需要大量编程),瞬间变的极其简单,开发者代码量急剧降低,那个时期称为XML零配置。而且性能优异,远超Struts1、2。最终把它们拍在沙滩上。

从行业的旧三大框架SSH(Struts+Spring+Hibernate),最终形成今天我们依然再用的新三大框架SSM(SpringMVC+Spring+Mybatis)。

总结

再说个题外话,为何PHP最终倒台,就是它没有java的MVC框架,注定做大型项目时就干不过java,虽然后期也抄袭推出了它自己的三大框架,但几乎无人问津。
还有微软的ASP,虽然后期推出了ASP#.net,也抄袭了java形成MVC框架,但为时已晚,而且并无新的建树。
包括前端也出现MVVM等框架,其实都是抄袭和借鉴MVC。
足见MVC的对开发架构的影响有多深,时至今日目前市场几乎被SSM霸屏。

http://www.ds6.com.cn/news/69941.html

相关文章:

  • 自己做cdk兑换码网站百度在线客服问答
  • wordpress 谷歌搜索优化设计一年级下册数学答案
  • 老薛主机做多个网站做销售最挣钱的10个行业
  • 做购物网站骗人拼多多seo怎么优化
  • 网站推广外链全球网站访问量排名
  • 模具培训网站建设海外推广渠道都有哪些
  • 中山做网站服务好代刷网站推广链接免费
  • 济南外贸网站建设北京网络营销外包公司哪家好
  • 网站端和移动端分开建设域名一样么长春刚刚最新消息今天
  • 门户网站开发公司平台seo外链工具有用吗
  • p2p金融网站开发方案百度关键词优化方法
  • wordpress数据库引擎鞍山seo优化
  • 南宁做网站推广的公司客户关系管理系统
  • 泸州公司做网站做网络推广为什么会被抓
  • 网站设计的基本步骤和方法谷歌搜索优化
  • 岳阳网站建设免费推广的途径与原因
  • 个旧做网站哪家公司好百度企业推广怎么收费
  • 网站做pc相城seo网站优化软件
  • 长春专业网站建设模板代理表白网页制作免费网站制作
  • python 和php网站开发营销手段有哪些
  • 上海高端网站开发营销技巧和营销方法视频
  • 在线做公章网站100%能上热门的文案
  • 自己电脑做网站 带宽济南做seo排名
  • 茶叶响应式网站广告联盟接单平台
  • 个人建站平台产品推广方案要包含哪些内容
  • 蒲城网站建设wzjseo2021网络营销成功案例
  • 在线教育网站模板站长工具忘忧草
  • 优秀作文大全网站seo学堂
  • 做时时彩吧的网站郑州网站建设方案优化
  • 企业销售网站整站seo排名要多少钱