三层架构在基于XML技术留言本中的应用

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:gaoHolly
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:程序设计追求的是代码的通用性,可移植性,可维护性、功能可扩展性,那么如何才能实现呢?首先需要大量的实践经验,其次对面向对象编程思想的深入了解。本文详细论述了通过ObjectDataSource和LINQ to XML开发了一个典型的基于三层架构的XML留言板网站。
  关键词:三层架构;留言板;XML技术
  中图分类号:TP311.52
  注册用户登录网站后,可以在网站首页查看用户的留言内容,还可以通过发表留言页面发表留言信息,而以管理员身份登录网站后还可以删除指定的留言信息。在网站首页提供了具体的导航功能。基于XML技术的留言本首页运行效果如图1所示。
  1 设计思想概述
  1.1 三层架构模式设计思想。在网站开发过程中,需求是不断发生变化的,给网站设计出一个良好的架构,会给网站以后的开发带来很好的扩展性,而三层架构的数据库Web应用程序,将用户的界面与数据库的逻辑完全分离在不同的层面中,Web应用程序界面不再直接与后台的数据库相连接,而是直接与业务逻辑层相关联。然后业务逻辑层在与数据库相连接。通过这个业务逻辑层,用户界面与SQL语句实现了分离,便于系统的扩展与维护。
  在三层架构开发中,各个层之间的分工是很明确的,就像公司中的部门,每个部门的分工是不一样的,哪个部门的任务就由该部门完成,一个部门完成不成任务对其他部门影响不大,甚至没有影响。三层架构设计模式如图2所示。
  (1)表示层:它负责响应用户的请求,对于这一层一般代码量很少。大量的处理工作交给业务逻辑层完成。(2)业务逻辑层:它负责实现业务规则、数据访问操作及对数据进行有效性验证等。(3)数据库层:主要实现数据的存储,本例使用SQL Server2005作为存储数据的服务器。(4)Common层:用来封装一些常用的功能性代码,主要用来为其他层服务的。
  1.2 完美体现三层架构模式的数据源控件——ObjectDataSource。大多数ASP.NET数据源控件(如AccessDataSource、SqlDataSource等)都是应用于两层架构的开发。但是应用程序设计的基本原则是将表示层与业务逻辑相分离。开发人员可以利用ObjectDataSource控件将页面上的数据控件与业务逻辑层的数据访问类的相关方法绑定,从而快速实现表示层与业务逻辑层的关联。
  ObjectDataSource控件通过反射调用数据访问类中的方法,实现对数据执行选择、更新、插入与删除。实现步骤如下:首先设置ObjectDataSource控件的TypeName属性,将数据访问类与ObjectDataSource控件建立关联,然后设置ObjectDataSource控件的SelectMethod、UpdateMethod属性,将这些属性与数据访问类中的相关方法建立关联。ObjectDataSource控件的三层应用程序结构。
  1.3 LING to XML的应用。LING to XML是LINQ技术的一种,它的最大优势在于和Language-Integrated Quary(LINQ)集成,对符合XML规范的文件进行查询,检索,操作(添加、删除、修改等),它与传统操作XML的方法(例如文档对象模型DOM)最大的区别在于它更简单、规范、强大。在本例的业务逻辑层的数据访问类中,就使用了LINQ to XML实现对留言信息的添加、修改和查询功能。
  2 设计过程详解
  2.1 XML留言本——数据库层设计。本例采用XML文件存储留言信息,所以网站根目录下的LeaveWord.xml文件也是数据层的一部分。在LeaveWord.xml文件中,每个标记表示一条留言信息。LeaveWord.xml文件代码如下:
  2.2 XML留言本——业务逻辑层设计。在网站LeaveWordService类文件中存放的是业务逻辑层的数据访问类代码。在数据访问类中实现了对留言信息的添加、删除、修改和查询功能。
  (1)在XML文件中查询留言相关内容,应用LINQ to XML查询XML中所有元素,主要是调用了业务逻辑层自定的GetList()方法实现。在该方法首先调用Load()方法加载XML文件,然后定义查询XML中所有元素的LINQ表达式,接着应用foreach遍历XML中的元素并将元素值赋给实体,最后返回实体列表。(2)将留言信息添加到XML文档中,主要调用了业务逻辑层自定义的Add()方法。在该方法中首先调用Load()方法加载到XML文件,其次构造XElement类型的元素,最后将构造的元素添加到XML中并保存XML文件。(3)删除XML文件中指定的留言信息时,调用了业务逻辑Delete()方法。在该方法中首先使用LINQ表达式查找要删除XML元素,其次删除查找到元素序列中的第一个元素,最后保存XML文件。(4)在XML留言本详细信息中修改XML元素,首先调用业务逻辑层数据访问类中的Get()方法从XML文件中加载要修改的留言信息。用户修改留言信息后单击“更新”按钮时,调用业务逻辑层数据访问类的Update()方法交修改的内容更新XML文件中。
  2.3 XML留言本——表示层设计。上面代码中使用LINQ to XML实现了业务逻辑层对数据层(数据库)的访问,那么表示层Web页面如何访问业务逻辑层呢?我们使用ObjectDataSource控件实现表示层与业务逻辑层的关联。
  以删除XML留言信息为例,在删除XML留言信息页面(DeleteLeaveWord.aspx)中添加一个ObjectDataSource控件,该控件的HTML代码如下:
    DeleteMethod="Delete" SelectMethod="GetList" TypeName="LeaveWordService"
  DataObjectTypeName="LeaveWordDomain">
  

  上述代码中,将TypeName属性值设为LeaveWordService,表示与业务逻辑层中的数据访问类LeaveWordService关联;将DeleteMethod属性值设为Delete,表示调用LeaveWordService类的Delete()方法执行ObjectDataSource的删除操作,将SelectMethod属性设为GetList,表示调用LeaveWordService类的GetList()方法执ObjectDataSource的查询操作,查询返回类型由DataObjectName属性指定。
  3 结束语
  采用三层架构开发项目结构清晰,安全性高,同时增加了代码的可重用性和可扩展性,有利于实现人员分工合作。
  参考文献:
  [1]尹安.基于MVC和XML的异构数据库集成系统设计与实现[D].华中科技大学,2006.
  [2]徐枫.ASP.NET三层架构体系分析与应用[J].数字技术与应用,2011(08).
  [3]战非.NET平台下基于LINQ三层架构的实现[J].电脑知识与技术,2010(11).
  作者单位:常州刘国钧高等职业技术学校,江苏常州 213025
其他文献
近年来,湖北省物价局认真贯彻落实国家发展改革委关于12358价格监管平台的各项部署.紧紧围绕强化“三个保障”,立足于把平台使用好、把平台作用发挥好这条主线,认真受理群众价格
针对Web应用系统测试方法及其有效性进行了研究,对比和分析了不同的Web应用系统测试方法,提出了度量测试方法有效性的度量指标,有效地减少测试的次数。
国际著名羊绒品牌TSE在上海恒隆广场举办了今季最新的秋冬时装发布会,著名影星关之琳也身着TSE秋冬时装出现在活动现场。
天气转热,夏天到来。我们都有体会,夏季天气太热,消化能力降低,却又难免贪食生冷,就容易拉稀跑肚。脾胃一旦受伤就难以完全恢复,所以老百姓特别重视保护脾胃,夏天,小孩子即使
"春风又绿江南岸",姹紫嫣红的春天到来了,花粉也随着春风袭入人们的眼耳口鼻,引起过敏性炎症,如过敏性结膜炎、过敏性鼻炎、荨麻疹、哮喘等。结膜暴露于眼表,其中肥大细胞的密
充血性心力衰竭(CHF)患者常伴有睡眠呼吸紊乱,SDB所致的低氧和睡眠片断化等又可对CHF产生负面影响.CHF的睡眠呼吸紊乱以中枢性睡眠呼吸暂停,尤其是陈-施式呼吸更为多见.目前
Winsurf软件是Golden公司开发的一个三维绘图软件包,可以绘制各类等值线图和三维表面图。本文较为详细地介绍了该软件的应用方法、步骤,以及调入CAD的文件格式和调入方法。
自拜丽德形象代言人人选确定后,社会各界对此事极为关注:一个已平稳运行了9年的企业,为什么到今年才请形象代言人?
计算机网络的安全关系着企业能否正常的运营,企业的计算机网络设置不同于家庭电脑和个人电脑,它的系统设置更为严密和复杂,关系到企业生产资料的安全性,对于企业计算机网络安全与
诺曼底登陆60周年纪念,再一次让我们缅怀为我们驱除战争罪恶的正义之师.然而,战争题材一直都影响着服装设计师的情感,为了和平,也为了忘却的纪念,军装的风尚也因此更加值得追