浅议软件开发框架技术
好酷屋教程网小编为您收集和整理了浅议软件开发框架技术的相关教程:框架技术对于软件开发来说,意义重大,不仅可以简化开发流程,更利于后期维护。本文就软件开发中的框架技术进行分析,重点探讨struts、hibernate、spring以及分层架构内容。 1、SSH
框架技术对于软件开发来说,意义重大,不仅可以简化开发流程,更利于后期维护。本文就软件开发中的框架技术进行分析,重点探讨struts、hibernate、spring以及分层架构内容。 1、SSH框架技术 SSH技术即struts、hibernate、spring技术的缩写,是当前比较流行的开源框架技术。 1.1 struts技术 Struts这个名字最初是金属架的意思。开发者希望通过Struts这个框架技术支持JSP、Servlet、Java,然后在Web系统项目中的使用这门技术。
在apache的网站上发布Struts的第一个版本的时候,Struts技术只提供了一种将视图和业务逻辑分离的Web应用方案。当Struts这种Web应用技术出现的时候,每个开发人员都把它视为一种利器,把自己从繁忙的工作中解脱出来。所以在2001-2003这两年的时间里,大量IT公司在系统开发的过程中Struts技术作为框架。 Struts的一大优点是它是开源软件[6]。Struts 本质是在Model2的基础上实现的一个MVC架构,采用的主要技术是Servlet、JSP和custom tag library用户自定义标记库[7]。Struts是运用MVC的体系编写的一个Web应用的一个框架, 可以说是一个传统MVC设计模式的一种改进类型。 1.2 hibernate技术 在Java世界里,Hibernate一直是最引人关注的一个话题。从Gavin King加入EJB3.0 EG,负责制订EJB3.0的持久层规范;到Gavin King非正式退出JDO EG,并且充满个人情绪的对JDO2.0规范进行攻击;到《Hibernate in Action》的发行;再后来到Hibernate3 Alpha的发布;最后再到JBoss 3.0 PR的发布。Hibernate在短短不到3年的时间内,从一个名不见经传的开源软件发展成到今天令业界瞩目的主流的O/R Mapping框架技术,在当前的Java持久层框架中,最流行的O/R Mapping产品分别是Hibernate,JDO以及TopLink。而Hibernate往往就是项目开发的首选, Hibernate的轻量级ORM模型逐步确立了在Java对象关系映射架构中的地位,而且它的许多设计还被Java EE标注组织吸纳成为EJB3.0规范的标准。 1.3 spring技术 Spring技术起源于2000年,它是Rod Johnson通过一些成功的商业项目构建起来的基础框架技术。在2002,Rod Johnson发布了《Expert One-on-One J2EE Design and Development》一书,并伴随着书的发布,同时提供了一个初步的开发框架技术,interface21开发包,interface21也就是书中阐述的内容的具体实现。后来,Rod Johnson 在interface21开发包的基础之上,进行了进一步的改造和扩充,使其发展为一个更加开放、清晰、全面、高效的开发框架——Spring。2003年2月,Spring框架技术正式成为一个开源项目,开始发布。Spring是一个解决了许多在J2EE开发中常见问题的强大框架。 2、分层架构 分层架构具有显著地特点,系统最高级别的目标功能位于最顶层,具体的涉及到跨领域的业务功能在中间层,系统配置以及系统环境位于底层。上一层调用下一层的数据,下一层为上一层提供服务。分层架构要遵循一定的原则: (1)可见度原则。每个系统的依赖关系只存在以同一级别的层次或者是下一个级别的子系统。 (2)易变性原则。易变性原则也适合具体的层次相关联的,越往上的层次越靠近用户的需求,由于用户的需求是异变的,因此这一层次的抽象也往往最容易发生变化,而底层的数据库连接、环境配置、硬件驱动等等,这些相对来说不容易变化的,即使顶层的需求变化,这一部分是向上提供服务的,相对不易变化。 (3)通用性原则。抽象模型元素一般放在放置在分层架构的底层。如果这些不涉及或者是不专注于具体的实现,则可以将这邪恶放在中间层次; (4)层数。对已通常的系统来说,三层是比较普遍的,对已特别复杂的系统,要加入层次,随着层数的增加,复杂性也会增加。 使用分层架构,有如下几方面的优点: (1)每一层的设计只关注本层次。在进行系统开发的时候,业务功能的层次只需负责具体需求的实现,数据库持久的层次只关注与数据库的连接与管理,不需要对其他层次进行考虑。 (2)开发更加方便。在系统开发中,很可能会遇到功能类似的系统,那么实现系统时这两个功能的实现会很容易,只需将涉及到功能的名字和变量进行替换就可以完成系统功能。 (3)降低耦合。分层可以降低系统之间的依赖。例如,web表示层只需要关注与怎么对外提供服务,至于中间的业务逻辑层是怎样流转的,数据库持久层怎么进行数据提供,都不需要关心,这样充分降低了系统之间的耦合。 (4)代码复用。某一层次的实现,可以像其他很多层次提供服务。 (5)可以使代码编写更加整洁,利于标准化工作。 分层架构也存在有一些弊端和缺点: (1)数据级联。封层架构可能会导致修改代码的时候,对某一个变量的修改,可能涉及到所有的关系到这个变量的层次都需要进行修改。 (2)分层架构的层次要适度。对于系统来说,并不是越多的层次对系统越好,系统越多,系统开销越大,系统负担也越大,系统开发难度也越大,对已普通的应用性系统来说,如果需求不是特别多,数据量非海量型的,那么三层架构已经可以实现,对已数据量大,业务需求复杂的系统,可以分为4-5个层次,对已5层以上的分层不提倡,这样分层的话,会使本来先对比较简单的工作变得复杂,反而会不利于系统的开发和后期的维护工作。 通过以上几点分析,分层对系统来说是有利有弊的,适当的分层架构对系统很重要,要进行权衡利弊,并不是越多的层次越好,分层的具体要根据实际的需求进行联系,进行细致的分析和考虑,这样才能使开发更有效率,维护也更加方便。
以上就是好酷屋教程网小编为您收集和整理的框架,缺点,标签,简介相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/shenghuo/640d352ee21f2d345c08b129.html
相关推荐
热门专题
喝酒后喝咖啡好吗
历来有美酒加咖啡的说法,美酒加咖啡听上去意境很美好,很多人也有这个习惯,在喝完酒后,来一杯香浓醇厚的咖啡解酒提神,喝酒后喝咖啡好吗?喝酒后喝咖啡不好美酒加咖啡不仅对身体没有好处,起不到醒酒提神的作用,白糖为什么能溶解鱼刺 用什么可以溶解鱼刺
鱼是生活中常见的常见的食物,很多人都喜欢吃吧,吃鱼的时候稍不注意就被鱼刺卡住了怎么办呢?听说用白糖可以帮助溶解鱼刺,这是为什么呢?白糖为什么能溶解鱼刺白糖没有溶解鱼刺的作用。白糖是生活中常见的食物,很葫芦岛财政局每月拨款时间几号
葫芦岛财政局每月拨款时间为15号。通过查询官方网站显示,财政局每月15号左右对事业单位拔款。具体消息可关注官方网站,获得第一手权威信息。财政局负责地方的财政工作,贯彻执行财务制度,按照政策组织财政收入全新胜达怎么下载酷狗
全新胜达可通过U盘、SD卡等设备里下好音乐,插入车上的相应接口,直接进行下载安装即可。建议使用系统自带的播放器,另外安装可能会出现不兼容的情况。全新胜达是北京现代旗下的高端中型豪华SUV,配备2.0T腐竹不能和什么一起吃
腐竹由于味道鲜美,营养丰富受到很多人的喜爱,所以也出现了各种腐竹的吃法,但是腐竹一旦没有搭配吃好就会拉肚子,那么腐竹不能和什么一起吃呢?腐竹不能和什么一起吃1、蜂蜜腐竹跟蜂蜜一起搭配,会造成腹泻,有损如何将多个类目放在一个海报里
用DW软件或者用PS软件做成切片连接,即可将多个类目放在一个海报里。海报这一名称,最早起源于上海,是一种宣传方式。旧时,海报是用于戏剧、电影等演出,活动的招帖。上海的人通常把职业性的戏剧演出称为海,而广州行间网络科技有限公司(关于广州行间网络科技有限公司介绍)
导读大家好,小升来为大家解答以上的问题。广州行间网络科技有限公司,关于广州行间网络科技有限公司介绍这个很多人还不知道,现在让我们一起来看...大家好,小升来为大家解答以上的问题。广州行间网络科技有限公白糖和鸡蛋能一起吃吗 白糖和鸡蛋一起吃有什么危害
鸡蛋是生活中很常见的食物,白糖是生活中常见的调味品,白糖和鸡蛋能一起吃吗?下面一起来看看吧!白糖和鸡蛋能一起吃吗建议不要。糖水荷包蛋是很多人日常喜欢吃的食物,夏天到了,不少人会选择白糖作为首选糖类,但金纹石有没有蜡质光泽
金纹石有蜡质光泽,金纹石主要是黑底(也有褐色底)以金黄色图纹为特征的图纹石,金纹石是奇石界的后起之秀,金纹石一般都质地坚硬,其水冲度高,石体光洁平滑细腻,部分玉化程度高。莫氏硬度在5到8度,金色纹路和女生去塔尔寺禁忌
1、在寺院里,不能用手摸佛经、佛像、法器等,更不能跨越;转经轮时,一定是从左向右;不要乱摸藏族人的头和帽子。2、塔尔寺内很多经院殿堂有禁止拍照的告示牌。3、最好不要穿裙子。4、塔尔寺是藏传佛教,普通人