实习报告00分析和总结.docx

上传人:太** 文档编号:86548255 上传时间:2023-04-14 格式:DOCX 页数:18 大小:32.80KB
返回 下载 相关 举报
实习报告00分析和总结.docx_第1页
第1页 / 共18页
实习报告00分析和总结.docx_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《实习报告00分析和总结.docx》由会员分享,可在线阅读,更多相关《实习报告00分析和总结.docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目录第一章概述21 .实习单位22 .实习岗位23 .实习内容24 .实习过程2第二章实习内容31 . SSH 概述31.1 . 1 Struts 31.2 Spring 41.3 H i bernate 52 . MVC73 .企业应用开发的思考93.1 可扩展性、可伸缩性103.2 快捷 可控的开发113.3 稳定性、高效性113.4 花费最小化,利益最大化124 .热门技术134. 1 HTML5134. 2 Bootstrap144. 3 JavaScr i pt 15第三章实习总结161 .实习期间的收获162 .个人工作总结173 .结束语18企业应用的开发是相当复杂的,这种复杂除

2、了表现在技术方面外,还表 现在行业本身。企业级应用的开发往往需要面对更多的问题:大量的并发访 问,复杂的环境,网络的不稳定,还有外部的Crack行为等。因此企业级应 用必须提供更好的多线程支持,具备良好的适应性及良好的安全性等。由于 各行业的应用往往差别非常大,因此企业级应用往往具有很强的行业规则, 尤其是优良的企业级应用往往更需要丰富的行业知识。企业应用的开发成功, 也需要很多人的共同协作。下面对企业应用开发面临的挑战作具体分析。3. 1可扩展性、可伸缩性市场是瞬息万变的,企业也是随之而变的。而信息化系统是为企业服务 的,随着企业需求的变化,企业应用的变化也是必然的。笔者在多年开发过 程中,

3、经常听到软件开发者对于需求变更的抱怨。当开发进行到中间时,大 量的工作需要重新开始,确实给人极大的挫败感,难免软件开发者会抱怨。 一个积极的软件开发者应该可以正确对待需求的变更。需求的变更,表明有 市场前景,只有有变化的产品才是有市场的产品。优秀的企业级应用必须具备良好的可扩展性和可伸缩性。因为良好的可 扩展性可允许系统动态增加新功能,而不会影响原有的功能。良好的可扩展性建立在高度的解藕之上。用过SSH的人都知道,将运行 所需资源、模块的糯合等从代码中分离出来,放入配置文件管理。这是一种 优秀的设计思路,最理想的情况是允许使用可插拔式的模块(类似于Eclipse 的插件方式)。在J2EE应用里

4、,大多采用XML文件作为配置文件。使用XML 配置文件可以避免修改代码,从而能极好地提高程序的解稿。XML文件常用于配置数据库 连接信息,通过使用XML文件的配置方式,可以让应用在不同的数据库平台 上轻松切换。从而避免在程序中使用硬编码的方式来定义数据库的连接,也 避免了在更改数据库时,需要更改程序代码,从而提供更好的适应性。3.2 快捷、可控的开发如果没有时间限制,任何一个软件系统在理论上都是可实现的。但这样 的条件不存在,软件系统必须要及时投放市场。对于企业级应用,时间的限 制则更加严格。正如前文介绍的,企业的信息是瞬息万变的,与之对应的系 统必须能与时俱进。因此快捷、可控是企业信息化系统

5、必须面对的挑战。软件开发人员常常乐于尝试各种新的技术,总希望将各种新的技术带入 项目的开发中,因而难免有时会将整个项目陷入危险的境地。当然,采用更优秀、更新颖的技术,通常可以保证软件系统的性能更加 稳定。例如,从早期的CIS架构向B/S架构的过渡,以及从Modell到 Model2的过渡等。这些都提高了软件系统的可扩展性及可伸缩性。但采用新 的技术所带来的风险也是不得不考虑的,开发架构必须重新论证,开发人员 必须重新培训,这都需要成本投入。如果整个团队缺乏精通该技术的领导者, 项目的开发难免会陷入技术难题,从而导致软件的开发过程变成不可控的一- 这是非常危险的事情。成功的企业级应用,往往是保证

6、其良好的可扩展性及可伸缩性,并建立 在良好的可控性的基础上。3.3 稳定性、高效性企业级应用还有个显著特点:并发访问量大,访问频繁。因此稳定性、高 效性是企业级信息化系统必须达到的要求。企业级应用必须有优秀的性能, 如采用缓冲池的技术。缓冲池专用于保存那些创建开销大的对象,如果对象 的创建开销大,花费时间长,该技术可将这些对象缓存,避免了重复创建, 从而提高系统性能。典型的应用是数据连接池。提高企业级应用性能的另一个方法是一一数据缓存。但数据缓存有其缺 点:数据缓存存虽然在内存中,可极好地提高系统的访问速度:但缓存的数据 占用了相当大的内存空间,这将会导致系统的性能下降。因此,数据缓存必 须根

7、据实际硬件设施制定,最好使用配置文件来动态管理缓存的大小。3.4 花费最小化,利益最大化这是个永恒的话题,任何一个商业组织都希望尽可能地降低开销。对开 发者而言,降低开销主要是如何使在开发上的投资更有保值效果。即开发的 软件系统具有很好的复用性,而不是每次面临系统开发任务,总是需要重复 开发。尽可能让软件可以有高层次的复用,这也是软件行业的发展趋势。早期 软件多采用结构化的程序设计语言,此时的软件复用多停留在代码复用的层 次。面向对象的程序设计语言的出现,使代码复用提高到了类的复用中。在良好的J2EE架构设计中,复用是一个永恒的追求目标。架构设计师 希望系统中大部分的组件可以复用,甚至能让系统

8、的整个层可以复用。对于 采用DA0模式的系统架构,如果数据库不发生大的改变,整个DA0层都不 需要变化。Java EE大多数采用XML文件作为配置文件,这是目前企业及应 用最常用的解耦方式,而依赖注入的方式则提供了更高层次的解耦。使用XML 配置文件可以避免修改代码,从而能极好的提高程序的解耦。XML文件常用 于配置数据库连接信息,通过使用XML文件的配置方式,可以让应用在不同 的数据库平台上轻松切换,从而避免在程序中使用硬编码的方式来定义数据 库的连接,也避免了在更改数据库时,需要更改程序代码,从而提高更好的 适应性。使用框架可以大大提高系统的开发效率,除非开发一个非常小的系统, 而且是开发

9、后无需修改的系统,才可以完全抛弃框架。优秀的框架本身就是 从实际开发中抽取的通用部分,使用框架就可以避免重复开发通用部分,使 用优秀的框架不仅可以直接使用框架中的基本组件和类库,还可以提高软件 开发人员对系统架构设计的把握。如果不使用已有的框架,系统开发者将面临需要自己完成所有的底层部 分,除非开发者丝毫不遵守复用的原则,总是重复书写相同代码。使用框架开发的系统使模块组织更加一致,从而降低了软件开发者之间 的沟通成本,使系统具有更好的可读性,从而让软件系统具有更好的保值性。后期的更新、维护也是企业级应用开发的重要组成部分,而使用框架的系统 具有很大的相似性,从而有利于后期的更新及维护。使用代码

10、生成器可以自动生成部分程序,不但可以省去许多重复性的劳 动,而且在系统开发过程中可以大大节省时间。程序生成器的效率很高,在 开发软件的许多环节都有很好的作用,如数据持久化,界面及中间件等。代 码生成器还有个最大的作用:在原型开发期间可以大量重复利用代码生成器, 原型系统通常在需求不十分明确时非常有用,此时的需求尚未确定,而软件 功能业务无需十分完备,仅提供大致的软件功能,此时的代码生成器就非常 有用。4.热门技术4. 1 HTML5随着移动互联和通信技术快速发展,传统的app的下载安装又异常的繁 琐,已满足不了用户的体验需求,html5应时而生。HTML5开发的页面更具有现代网页的特性:界面华

11、丽、人机交互出色、 功能强大,现在我们已经很难单纯用传统的表现方式满足用户多种多样的需 求,实现时也很难将HTML5与之前的版本割裂开来,所以我们可以认为在移 动平台上绝大部分的现代Web App (或者Hybrid App)都将会采用HTML5开 发。以下便是HTML5的优势:跨平台:一次开发,到处使用,不需要考虑兼容性。这可以极大减少跨 平台开发人员数量和成本。如果反过来思考,现在移动平台日新月异,除了 Android 和 I0S 两强独大,还有 Windows Phone Blackberry、Bada 等多个 系统参与竞争,各自覆盖一部分用户,而一个应用要想覆盖这么多的平台, 除了采用

12、Web App的方式,几乎不可能解决这个现实的问题。云端升级:在移动开发中最痛苦的是每次发布。发布时需要涉及多个应 用商店和渠道,另外还要非常的谨慎。如果出现重大bug或者质量问题,通 过新版本修复是极其麻烦的事情,在这个过程中苹果App Store的审核期也 让很多开发者非常头疼。而云端升级可以一次性覆盖所有用户,不需要用户 手动升级和安装;有任何问题可以随时及时修复,不需要经过应用商店和用户手动更新,大大减少了风险和工作量。与云计算平台结合,解决移动设备运算能力有限的问题:如果将Web App 存放在云端的服务器上,可以很好的利用云计算平台强大的服务器和运算资 源,完成很多受移动设备硬件能

13、力限制难以完成的复杂工作。能够更好的被搜索引擎索引和检索,并形成可量化的大数据:Native形 式本身是封闭的,封闭、无序的数据对于信息流动来说是一种阻碍,很容易 造成信息孤岛;Web本身的精神就是开放,同时HTML5提供的语义化标签能 够更好的被识别和组织。如果我们能够通过Web App获取更多开放的信息与 数据结构,才能更好的迎接和拥抱大数据时代。绕过严苛的应用商店:应用商店对于应用过于严格的控制是一把双刃 佥!I,对于许多开发者和应用开发商来说Web App的形式是绕过传统手机应用 商店模式的最佳途径.4. 2 Bootstrap随着互联网的发展,web时代或许会慢慢的进入人们的视线,这

14、时的许 多问题也会悄然而至,跨平台的支持,跨浏览器的兼容性,页面布局的自适 应等等。在Bootstrap中这些问题都会有合适的解决方案,web开发者可以 轻松的运用其轻松构建属于自己的web项目,并可以轻松绘制出目前高端大 气上档次的宽屏简约的分格。Bootstrap,来自Twitter,是目前最受欢迎的前端框架。Bootstrap是 基于HTML、CSS、JAVASCRIPT的,它简洁灵活,使得Web开发更加快捷。它 由 Twitter 的设计师Mark Otto 和Jacob Thornton 合作开发,是一个CSS/HTML Wo Bootstrap提供了优雅的HTML和CSS规范,它即

15、是由动态CSS语言Less 写成。Bootstrap 一经推出后颇受欢迎,一直是GitHub上的热门开源项目, 包括NASA的MSNBC (微软全国广播公司)的Breaking News都使用了该项目。特点:Bootstrap是基于HTML5和CSS3开发的,它在JQuery的基础上 进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容 大部分JQuery插件。4.3 JavaScriptJavaScript 一种直译式脚本语言,是一种动态类型、弱类型、基于原型 的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一 部分,广泛用于客户端的脚本语言,最早是在

16、HTML (标准通用标记语言下的一 个应用)网页上使用,用来给HTML网页增加动态功能。JavaScript出道很久了,自己在学校的时候就学过,一直只把它简单的 认为网页脚本语言,用来做一些浏览器的一些特效。知道培训和实战的时候 才发现它的强大和它的灵活性,在web项目的实战中,用于连接前台和后台 的可以说就是JavaScript。随着WEB时代的来临,掌握JavaScript将会变 得越来越重要。目前市面上流行许多前台框架,而大部分的框架无非就是对 JavaScript封装再封装。第三章实习总结1 .实习期间的收获2014. 7月来到西安,在西安鼎力科技有限责任公司进行为期六个月的培 训,之

17、后一直在西安曼罗电子科技有限公司实战。在培训在实战期间,自己 的知识面得到了不断的扩充,从JAVA到JAVA EE,最后拓展到Android,从 底层JVM到上层的SSH框架。在指导老师的指点下,形成了一个java平台的 体系。在项目实战中,先后学习了 Bootstrap, css3, HTML5, OpenCMS等许多前 台技术,在0A的开发中也不断的融合和提高。从学校到社会的大环境的转变,身边接触的人也完全换了角色,老师变 成老板,同学变成同事,相处之道完全不同。在这巨大的转变中,我们可能 彷徨,迷茫,无法马上适应新的环境,但在同学、同事的帮助和自己摸索的 情况下,我还是完成了这次实习。但

18、我发现,以我们的经验,不学到一定的 深度和广度是难以在实际工作中应付自如的。因此反映出学习的还不够,缺 点疏漏。需在加以刻苦钻研及学习,不断开拓视野,增强自己的实践操作技 能。常言道:工作一两年胜过十多年的读书。两个月的实习时间虽然不长, 但是我从中学到了很多知识,关于做人,做事,做学问。只有拥有自信才能 够克服一切,去实现自己的理想,创造自己的人生。“在大学里学的不是知识,而是一种叫做自学的能力”。参加工作后才能 深刻体会这句话的含义。课本上学的理论知识用到的很少。在这个信息爆炸 的时代,知识更新太快,靠原有的一点知识肯定是不行的。我们必须在工作 中勤于动手慢慢琢磨,不断学习不断积累。遇到不

19、懂的地方,自己先想方设 法解决,实在不行可以虚心请教他人,而没有自学能力的人迟早要被企业和 社会所淘汰。所以我们还要继续学习,不断提升理论素养。在实战期间,由于公司是一家刚起步公司,所以公司给我的实战平台也 相对交大,从前台到后台基本能接触的自己都接触了,公司主要负责B2C网 站以及0A平台的制作也开发。包括需求分析,数据库设计,model层的建立,页面整体设计,CSS+DIV页面编写、图片制作处理等。在这段实习期间,我 参与了完整的0A系统的开发过程,以前在课堂上学到的理论知识是到了很好 的实践巩固,同时学到了更多新的东西。通过完整的项目开发,我对MVC的 开发模式有了直观的认识,对整个开发

20、流程有了一定的了解,能够熟练掌握 CSS、Div、Html语言,并初步掌握了。Struts+Hibernate+Spring框架技术,能够独立完成数据库建立、前台 页面编写、后台代码编写等完整的开发过程,并对团队合作有了更深刻的认 识。在一个项目的完整开发过程中,技术固然很重要,但是团队合作才是更 重要的。因为一个项目从需求分析到应用实施,需要各个部门人员的分工合 作。所以,具备良好的创新意识和团队合作意识,能够迅速融入开发团队和 工作环境一个程序员必须具备的素质。这种能力需要通过不断积累工作经验 才能得到培养和提高。2 .个人工作总结从学校到社会,从课堂到培训,身份和环境的转变,自己也在不断

21、的去 尝试和接受新的方法。培训的六个月里,每天都在拼命的学习,不断的去充 实自己。在与培训的老师,以及从事程序员工作的前辈交流后,感觉自己真 的太薄弱了。刚开始的时候,每天早晨在老师的讲解下疯狂的恶补Java知识, 下午有足够的时间去理解面相对象的思想,到后面的三个月里,每天早晨在 学习Android的知识,下午学习SSH的知识,让自己去理解和掌握的时间只 有晚上,仿佛感觉回到了高三备战高考的日子里,苦并快乐着。培训后期为了 给自己找到合适的实战单位,每天去面试,然后遭受打击,重振心态,静心学 习,如此反反复复,觉得自己小强一样,最终找到一个自己认为还不错的公司, 至少目前还不错。找工作的过程

22、中,曾去一家大家都认为还不错的日企工作过, 每天的工作就是将日文的开发文档转换成代码,至于转换之后,就不知道了, 所以工作很是乏味,最终还是因为自身或者环境,放弃了这份工作。目前所 就职的公司,虽然刚起步,但是自己可以接触和学习到更多的知识,而且本 身就是危机并存。现在自己负责后台实现,有时也会去做前台,能够大量的接 触到web开发的知识,并且组长的带领下能够参与应用从前方的需求设计到后期实现的整个过程,这样的环境下不断的探索和积累经验, 而且这样的生活自己觉得才会充满激情。生活就是生下来活下去,只要自己努力,我相信面包牛奶都会有的,一 切问题其实不是问题。3 .结束语工作之后,自己慢慢的进入

23、社会,美好的校园生活也就此结束,虽然在 校园或多或少还有些遗憾,而这些遗憾也许也是一个句号。步入社会之后, 在理论和实践的过程中,发现自己还有许多不足,在今后我也将不断去完善 这些不足。前面的遗憾已成为遗憾,只能使自己在以后的日子中少点遗憾。 在此我衷心的祝愿母校的各位老师,培训和实习期间关心和帮助过我的老师 朋友,身体健康,万事如意。第一章概述1 .实习单位西安曼罗电子科技有限公司是一家专业从事嵌入式工业计算机及通信系 统设计、开发、销售的高科技公司,公司前身曼罗工作室(成立于2012年), 在不断沉淀做技术积累的同时,提供多方位的定制产品开发服务,并且积累 了自有产品体系,工作室经过2年多

24、的发展,于2014年正式在工商局登记注 册为西安曼罗电子科技有限公司。公司目前继承了工作室所有的骨干成员、核心技术及行业应用开发经 验,已经形成了从系统设计、应用软件开发、嵌入式系统开发等全方位技术 体系,具有较强的设计、研发能力,可为用户提供应用软件系统产品及嵌入 式计算机系统产品的设计、开发、系统集成等服务。随着公司的发展,目前 已拥有3个系列近10款产品,产品应用涵盖电力、军工、通信、网络安全、 智能家居等行业。2 .实习岗位软件开发工程师3 .实习内容企业web办公系统的开发4 .实习过程实习模式:培训1+实战过程:先在西安鼎力信息技术有限责任公司进行为期六个月的培训之后, 在到其合作

25、单位西安曼罗电子科技有限公司进行项目实战,进一步提高和融 合自己所学的知识。第二章实习内容1. SSH概述1 StrutsStruts对Model, View和Controller都提供了对应的组件。分为Strutsl 和 Struts2,区别甚大。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet 的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返 回给JSP页面显示。Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求 参数,封装成ActionForm对象,该对象被ActionServlet转

26、发给Action, Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。View部分该部分采用JSP (或HTML、PHP)实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义 的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP 部分。Controller 组件Controller组件有两个部分组成一一系统核心控制器,业务逻辑控制 器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架 提供,继承HttpServlet类,因此可以配置成标注的Ser

27、vlet。该控制器负 责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用 Model来完成处理。对应Action部分。1.2 Spr i ngSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应 用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由 EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、 可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。目的:解决企业应用开发的复杂性功能:使用基本的JavaBean

28、代替EJB,并提供了更多的企业应用功能范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(1。0和面向切面(AOP)的容 器框架。轻量一一从大小与开销两方面而言Spring都是轻量的。完整的Spring 框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理 开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中 的对象不依赖于Spring的特定类。控制反转一一Spring通过一种称作控制反转(hC)的技术促进了松耦 合。当应用了 IoC, 一个对象依赖的其它对象会通过被动的方式传递进来, 而不是这个对象自己创建或者查找依赖对象。你

29、可以认为IoC与JNDI相反一 一不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主 动将依赖传递给它。面向切面一一Spring提供了面向切面编程的丰富支持,允许通过分离应 用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管 理)进行内聚性的开发。应用对象只实现它们应该做的一一完成业务逻辑 仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器一一Spring包含并管理应用对象的配置和生命周期,在这个意义上 它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原 型(prototype),你的bean可以

30、创建一个单独的实例或者每次需要时都生成 一个新的实例一一以及它们是如何相互关联的。然而,Spring不应该被混同 于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。框架Spring可以将简单的组件配置、组合成为复杂的应用。在 Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring 也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开 发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测 试的代码。它们也为Spring中的各种模块提供了基础支持。1.3 H i bernateHibernate是一个开放源代码的对象

31、关系映射框架,它对JDBC进行了非 常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来 操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意 义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久 化的重任。Hibernate 的核心接口一共有 5 个,分别为:Session、SessionFactory Transaction、Query和Configuration。这5个核心接口在任何开发中都会 用到。通过这些接口,不仅可以对持久化对象

32、进行存取,还能够进行事务控制。 下面对这五个核心接口分别加以介绍。 Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD 的任务是完成与数据库的交流,包含了很多常见的SQL语句。)0但需要注意 的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP 应用中的HttpSessiono这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。, SessionFactory 接口:SessionFactory 接口负责初始化 Hibernate0 它

33、充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。 需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目 通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个 数据库指定一个SessionFactoryo, Configuration 接口:Configuration 接口负责配置并启动 Hibernate, 创建 SessionFactory 对象。在 Hibernate 的启动的过程中,Configuration 类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。, Transa

34、ction接口:Transaction接口负责事务相关的操作。它是可选 的,开发人员也可以设计编写自己的底层事务处理代码。在Struts + Spring + Hibernate的组合框架模式中,三者各自的特点 都是什么?Struts的MVC设计模式可以使我们的逻辑变得很清晰。Spring的I0C和AOP可以使我们的产品在最大限度上解藕。hibernate的当然就是实体对象的持久化了典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务 层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。 客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层 与数据库交

35、互。表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广 泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层 分离,又细分为以下几种。Web层,就是MVC模式里面的“C” (controller),负责控制业务逻辑层 与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用StrutsoService层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DA0 层为基础,通过对DA0组件的正面模式包装,完成系统所要求的业务逻辑。DA0层,负责与持久化对象交互。该

36、层封装了数据的增、册h查、改的 操作。P0,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成 对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作 为0RM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DA0层及P0 无缝整合,其数据服务层用来存放数据。2. MVCMVC 全名是 Model View Controller,是模型(model)视图(view)控 制器()51、。()的缩写,一种软件设计典范,用一种业务逻辑、数据、界 面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个 性化定制界面及用户交互的同时,不需要

37、重新编写业务逻辑。MVC被独特的 发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界 面的结构中。MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。 使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理 自己的任务。最典型的MVC就是JSP + Servlet + JavaBean的模式。视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图 就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图 中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash 和像 XHTML, XML/XSL,

38、 WML 等一些标识语言和 Web services.MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来 讲,它只是作为一种输出数据并允许用户操纵的方式。模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的 处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象 来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关, 这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就 可以被多个视图重用,所以减少了代码的重复性。控制器控制器接受用户的输

39、入并调用模型和视图去完成用户的需求,所以当单 击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做 任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确 定用哪个视图来显示返回的数据。特点:耦合性低视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型 和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动 MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用 程序的数据层和业务规则。模型是自包含的,并且与控制器和视图相分离,所以很容易改变应用程 序的数据层和业务规则。如果把数据库从MySQL移植到Oracle,或者改变基

40、于RDBMS数据源到LDAP,只需改变模型即可。一旦正确的实现了模型,不管 数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC 的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以 依据这种设计思想能构造良好的松耦合的构件。11重用性高随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC模 式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视 图能共享一个模型,它包括任何WEB (HTTP)浏览器或者无线浏览器(wap), 比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不 一样,但处理订购产品的方式是一样的。由于模型

41、返回的数据没有进行格式 化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示, 但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方 式,而控制层和模型层无需做任何改变。由于已经将数据和业务规则从表示层 分开,所以可以最大化的重用代码了。模型也有状态管理和数据持久性处理的 功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联 网的应用程序所重用。11生命周期成本低MVC使开发和维护用户接口的技术含量降低。部署快使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人 员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表 现形式上。可维护性高分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。有利软件工程化管理由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利 于通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以 使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为 构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可 以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。3.企业应用开发的思考

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁