欢迎来到天天文库
浏览记录
ID:6058024
大小:30.00 KB
页数:8页
时间:2018-01-01
《mvc和三层结构技术应用探究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MVC和三层结构技术应用探究 摘要:本文介绍MVC与三层结构技术的内容和区别,包括MVC框架的结构和三层结构技术的内容,并对两者的主要应用(包括B/S架构下)进行阐述;对两者结合设计软件的应用和性能做了说明和论述。因为MVC与三层结构技术在软件开发(尤其在Web技术下的数据库系统开发)具有的重要作用和地位,对其研究具有重要的现实意义。关键词:MVC;三层结构技术;软件框架;B/S;Web1.MVC与三层结构技术简介MVC是一种软件,是一种软件框架[1]。软件框架是对通用功能操作进行抽象的软件,这些抽象的功能操作的代码可以
2、根据应用程序的功能要求有选择的改变,并复用框架代码,进而形成特定的应用软件。就是把一些通用的功能,通过开发平台以代码和架构的形式表示出来,开发者通过框架提供的接口进行功能开发,可以复写框架代码,而不必从开始编写。框架提供了一些软件功能的默认实现,在特定的开发平台下,就是说开发平台已经代替开发者实现了一些通用功能并提供了相应的代码,开发者只需重写或添加功能代码。注意:框架内部代码不可重写;应用程序流程必须在框架内部。8三层结构技术[2]是一种设计架构模式,是一种软件的设计思想。可以把软件设计分为表示层、中间层和数据层,已利于
3、软件功能的设计和实现,称为三层结构技术。框架给出了应用程序的体系结构,设计模式给出了具体设计的解决方案;设计模式可用不同语言和不同方式来实现,而框架则是开发平台给出的设计和代码的混合体;设计模式与语言无关的,具体设计受制于开发平台框架的具体实现环境。利用框架开发软件应体现设计模式的基本思想,软件设计模式思想的实现要选择合适的软件框架并受制于框架。2.MVC结构2.1组成由Servlet(Controller)、JSP(View)、JavaBean(Model)三部分构成。Model是负责保持状态、数据的应用组件,通常这个状
4、态持久于数据库之中。View是负责用户界面的组件(UI),通常这个UI是使用Model模型数据来创建的。Controller用来处理用户交互,控制器行为(Action)用来完成用户发过来的每一个请求,操作Model(模型)最终会选择用哪个View(视图)来显示UI的组件。2.2特点视图、控制和模型分离,近一步提高了复用程度,三者可以独立变化,降低了耦合性并进一步提高了模块的复用性;合作效率得到充分发挥,开发成员的分工界面更加清晰;当出现问题时更容易锁定问题。82.3结构3.三层结构技术[3]所谓三层体系结构,就基于Web的
5、数据库开发而言就是在客户端与数据库之间加入了一个中间层,也叫组件层。而软件设计的一般三层体系结构[4]分为:(1)表现层(UI):就是展现给用户的界面,即用户在使用一个系统的时候展现在操作员或用户的所见与所得及其过程。(2)业务逻辑层(BLL):针对具体问题的操作,对数据库系统而言也可以说是对数据层的操作,对数据业务逻辑处理和一些事务办理。(3)数据访问层(DAL):该层所做事务是对数据库直接操作,针对存储数据进行数据的增添、删除、修改、更新、查找等功能实现。完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而
6、不用修改数据层。这样就为软件设计提供了架构设计思想,利于代码的模块设计和功能的设计实现,修改和重组。4.三层结构在B/S上的应用在Browser/Server三层体系结构下,应用软件三层结构设计的软件系统被分割为表示层(Presentation)、功能层(BusinessLogic)、数据层(Data8Service)三个相对独立的单元。第一层:表示层,Web浏览器上的软件设计。表示层包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协
7、议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上,相应数据由此被获得和显示。第二层:功能层,具有应用程序扩展功能的Web服务器上的软件设计,实现数据处理和事务处理。功能层包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库服务器进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理和事务处理的结果提交给Web服务器,再由Web服务器传送回客户端。第三层:数据层,数据库服务器上的软件设计,主要是对数据库直接
8、进行数据处理。数据层含系统的数据处理逻辑,位于数据库服务器端。其任务是接受Web服务器对数据库数据操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果和数据提交给Web服务器。5.主要的MVC[5]8(1)Struts:Struts是Apache软件基金下Takarta项目的一部分。Struts框
此文档下载收益归作者所有