免费论文查重: 大雅 万方 维普 turnitin paperpass

三层架构模式设计和研究-要求

最后更新时间:2024-02-06 作者:用户投稿原创标记本站原创 点赞:33215 浏览:155075
论文导读:系统数据库更换时,只需修改数据访问层即可,前台显示相关页面不需要任何修改,从而方便网站的维护和修改。该文所做的工作是基金项目“网络环境下高校图书馆特色资源库的建设与研究”的一部分,特色资源是科研期刊论文和科研著作资源。网络环境下高校图书馆特色资源库是以三层架构网站为技术核心建设的,即数据访问层、业务逻
摘要:该文介绍了基于三层架构模式的网站的设计方法和设计流程,说明了层架构的特点和优势,详细阐述了各层设计的要点和难点。通过将对象设计思想应用到网站设计中,网站设计模型得以重用。
关键词:层;对象;架构;LINQ
1009-3044(2012)20-4912-03
Design and Study of Website Based on Three Layer Architecture
ZHANG Wei,WANG Yi-tian,WANG Jia-bing
(Shenyang University of Chemical Technology, Shenyang 110142, China)
Abstract: This paper introduces how to design website based on three layer architecture, illuminates feature and advantage of layer archi tecture,demonstrates main points and difficulties of every layer design in detail.Website design model can be reused by 源于:7彩论文网论文要求www.7ctime.com
applicating object de sign concept to website design.
Key words: layer; object; architecture; LINQ
架构是指将应用系统的每个功能部分分解到独立的组件中,并将各种组件划分到各个逻辑层中去。
层架构是一种弱耦合结构,层和层之间是向下依赖的,底层对于上层是毫无所知的,上层的修改不会影响到对底层的调用。
所谓三层体系结构,是在客户端与数据库之间加入了一个"中间层",也叫组件层。不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即这三个层放置到一台机器上。
传统两层架构网站设计是通常将用户的界面显示与数据库逻辑(SQL语句)都集中到用户页面中,用户界面直接与数据库连接。缺陷就是用户界面中包含数据库的查询或更新语句。三层架构是将用户界面与数据的逻辑完全分开在不同的层面中,用户界面不是直接与数据库连接的,而是与业务逻辑层连接,业务逻辑层再与数据访问层连接,这样就实现了用户界面与SQL语句的分离,便于系统的扩展。当系统数据库更换时,只需修改数据访问层即可,前台显示相关页面不需要任何修改,从而方便网站的维护和修改[3]。
该文所做的工作是基金项目“网络环境下高校图书馆特色资源库的建设与研究”的一部分,特色资源是科研期刊论文和科研著作资源。网络环境下高校图书馆特色资源库是以三层架构网站为技术核心建设的,即数据访问层、业务逻辑层和界面表示层,在特色资源库平台上表现为特色资源的结果显示、逻辑查询和调用以及数据访问,具体关系图如下图所示。
1三层架构设计
按三层架构模式设计网站是目前网站设计的普遍方法,三层即数据访问层、业务逻辑层和界面表示层,数据访问层是对数据请求进行响应,执行sql语句,返回数据记录或数据表;业务逻辑层是拟要设计的网站所涉及的业务领域,该领域的业务逻辑操作以计算机程序或算法的方式实现;界面表示层是直接面向用户的,向用户展现网站的功能和布局及其美感。
特色资源库平台网站按三层架构设计,特色资源库是学校老师科研论文和著作的资源总库,对数据访问层的数据请求基本是查询和搜索,即按作者、篇名和关键词等查询;业务逻辑层是查询条件的逻辑操作,即高级检索按多个限定条件检索;界面表示层是对查询结果排列显示及论文或著作的摘要简介等。
数据库是三层架构之外的最底层,它是按照某种数据模型组织数据并存放于存储器中的具有一定联系的数据集合。将所有数据集中存放在数据库中,不但便于对其进行统一管理(如增加、删除、修改和检索数据等),而且便于提炼出对决策更有用的数据和信息[4]。
数据库可以是微软的SQL Server或者ORACLE,以SQL Server数据库为例,目前SQL Server最新版本是2008,但是运行稳定且广泛应用的是SQL Server 2005版本,该版本扩展了SQL Server 2000的性能、可靠性、可用性、可编程性和易用性。SQL Server2005包含了多项新功能,尤其在安全性方面有着较高要求,对某些操作权限有严格限制。它成为大规模联机事务处理(OLTP)、数据仓库的电子商务应用程序的优秀数据库平台。

1.1数据访问层

数据访问层是对最底层数据库操作,对数据库进行增加、删除、修改、查找记录等操作。数据访问层执行增加、删除、修改、查找等sql语句,sql语句中的参数是从业务逻辑层中传来的,该参数是以对象的方式传递的,即在用户界面层获得一系列数据,把这些数据以对象属性的方式进行封装,然后仅将对象传递给业务逻辑层即可,业务逻辑层将对象的属性进行业务操作,最后将对象传递给数据访问层。数据访问层将对象的各个属性作为sql参数参与执行。该层将执行结果返回给业务逻辑层,执行结果是某条或多条数据记录或者一个或多个数据表。
特色资源库平台的数据访问层包括科研论文、科研著作等数据库表对应的类及连接数据库的类,全文采用文件上传方式传到文件夹中,数据库里放该全文的相对链接地址。
数据访问层的两种设计方法:

1.1普通设计

设计一个DBHelper类,该类中包含建立数据库连接、执行sql语句等。数据库中的每个表对应一个数据服务类,该类中包含对表中数据的一系列操作,操作结果对应对象实例列表,每条数据对应一个对象实例。

1.2 LINQ设计

LINQ是Language Integrated Query的缩写,中文名字是语言集成查询,它提供给程序员一个统一的编程概念和语法,程论文导读:为存储过程。使用VisualStudio2008的对象关系设计器可以很容易地把存储过程映射为对象模型中的方法。可以直接把存储过程拖放到方法窗口,这样就能生成与该存储过程对应的方法,例如把存储过程SPAddCA拖放到设计器最右边的方法窗格中就会直接生成与该存储过程对应的方法SPAddCA。

1.2业务逻辑层业务逻辑层处于界面表

序员不需要关心将要访问的是关系数据库、XML数据或是远程的对象,它都采用同样的访问方式[5]。每一种数据对象都有一种查询语言,程序员无需知道每一种查询语言,统一使用LINQ技术就可以一步到位。LINQ架构如下图1所示。
图1 LINQ架构图[6]
存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。Linq到SQL在对象模型中使用方法来表示数据库中的存储过程,可以通过应用FunctionAttribute属性和ParameterAttribute属性(如果需要)将方法指定为存储过程[7]。
使用VisualStudio2008的对象关系设计器可以很容易地把存储过程映射为对象模型中的方法。可以直接把存储过程拖放到方法窗口,这样就能生成与该存储过程对应的方法,例如把存储过程SPAddCA拖放到设计器最右边的方法窗格中就会直接生成与该存储过程对应的方法SPAddCA。

1.2业务逻辑层

业务逻辑层处于界面表示层和数据访问层中间,它不仅启到中转表示层数据到数据访问层的作用,而且还可以对表示层输入的数据进行处理和有效验证、对多个表的事务处理等,它既是调用者又是被调用者,和界面表示层和数据访问层是依赖和被依赖的关系。业务逻辑层决不是可有可无的中间层,随着项目业务逻辑越来越复杂,就会渐渐的感觉到业务逻辑层所启到的作用。对于事务处理在SQL Server数据库中可以写到存储过程里,然而在ORACLE数据库中就必须写到业务逻辑层中,如果不使用业务逻辑层来处理,而放在数据访问层来处理,业务逻辑和数据访问逻辑混在一起,代码就会很混乱,给后期维护带来诸多麻烦。
业务领域专家,某一业务领域与计算机结合必将形成更大的价值结构。业务逻辑层到底都包括什么?对于用户界面层某些数据请求不能立即通过业务逻辑层传给数据访问层处理,需要业务逻辑层做相应的处理,以PetShop为例,业务逻辑层中有购物车等业务逻辑,它就是将客户的商品逐一统计存入购物车,当然如果中途改变主意不想某个商品,也可以将某个商品从购物车中移除,最终将购物车中数据送给数据访问层存储在数据库中。业务逻辑即是和某一专业相关的数据处理,并且该数据处理遵循本专业业务规则。业务逻辑层设计需要有业务领域专家参与,设计业务流程。
业务逻辑层设计就是将涉及业务逻辑操作的类抽象出来,按照面向对象的设计方法对类进行详细设计,界面表示层和数据访问层通过业务逻辑层中的对象的方法和属性得到数据传递和信息交互。
特色资源库的业务逻辑包括科研论文和著作的查询,高级搜索等。

1.3界面表示层

表示层是一个网站系统的“门面”,无论网站系统功能设计的多么强大和完善,代码多么简洁漂亮,系源于:7彩论文网论文资料网www.7ctime.com
统的可扩展性多么高,但是最终面向用户的大多是表示层的东西。表示层主要注重的是美观和易用,美观即外观设计漂亮,能给人美的感觉;易用即具有良好的用户体验,用户用起来舒服、顺手。
表示层是面向用户的,对数据进行排列表示,对数据进行合法验证,对数据在跨页面间存储和传输,对用户登录验证和存储。界面表示层是为用户提供用于交互的应用服务图形界面,帮助用户理解和高效地定位应用服务,接受用户的输入并呈现业务逻辑层中传递的数据。表示层对数据进行排列布局,给用户提供优美的外观和良好的服务,使用户方便快捷地利用应用服务和查询信息。
界面表示层设计遵循结构和外观分离的原则,即页面文件只包含结构信息,例如页面控件布局、位置等;而所有与外观相关的信息存储在CSS文件中,例如字体、颜色、边框等。这样就保证了页面的结构不会错位,外观显示不会混乱。DIV+CSS布局方法是目前一种比较方便和实用的网页布局方法,它使用div标签作为容器,使用CSS技术排布div标签,使用这种方法能高效快捷地设计各种网页[8]。
特色资源库网站平台界面通过设计母版页来简化网站界面设计工作,根据网页首部和底部在网站页面中内容一致的设计原则,故将首部和底部设计为母版页,以方便重用。后台管理页也可以采用同样的方法将导航等信息设计为母版页。
2优点
三层架构模式网站设计方法是将面向对象思想应用到网站设计中,在数据访问层中按照数据表建立数据服务类,将对某一数据表的各种操作放到该数据表对应的数据服务类中,业务逻辑层中的类是和数据访问层中的类一一对应的,只不过业务逻辑层不仅仅是对底层数据的调用,而且还是对上层数据的逻辑加工。界面表示层中每一个页面对应一个类,该类按照数据需求对业务逻辑层中的对象进行调用,该类中html表示信息和程序代码分离。
参考文献:
孙继红.基于.NET三层架构的网上商城设计与实现[J].网络与通信,2008(9):96-98
吴泽. .Net的三层结构[J].消费导刊,2007(2):123
[3]龚赤兵.Web开发新体验:ASP.NET

3.5MVC架构与实战[M].北京:电子工业出版社,2009:378

[4]王国胜,柴宝杰,尼春雨.ASP.NET+SQL Server动态网站开发[M].北京:清华大学出版社,2009:72
[5]赵晓东,张正礼,许小荣.ASP.NET

3.5从入门到精通[M].北京:清华大学出版社,2009:346

[6]李小航. ASP.NET程序设计中LINQ技术的应用研究[J].科技广场,2010(8): 33-35
[7]赵晓东,张正礼,许小荣.ASP.NET

3.5从入门到精通[M].北京:清华大学出版社,2009:363

[8]曾静娜.新手学CSS+DIV[M].北京:北京希望电子出版社,2010:196.