物联网三层构架 [基于.NET环境的三层构架开发技术]

  摘要:为了建立能在公共信息传送平台上使用的数据库应用系统,本文研究了.NET环境下的分布式应用程序技术。何谓“分布式应用程序”?它可以是一个“在逻辑上分布”的应用程序,由几个组件和程序组成,宿主在同一台计算机上,并通过交换信息来协同工作。本文阐述了三层分布式的数据库应用系统的构架,充分地分析了应用程序的各层功能,并概览了.Net内部可用的新数据访问技术的能力。
  关键词:ASP.NET;分布式应用程序;三层构架
  一、ASP.NET提供的分布式应用程序的基本原理
  1.分布式应用程序结构。
  分布式应用程序的主要原则是将应用程序逻辑地分为3个基本层:
  (1)表示层(UI);
  (2)业务逻辑层(BLL);
  (3)数据访问层(DAL)。
  按照这些原则对应用程序进行分层,不但方便开发人员生成具有高度伸缩和灵活的应用程序,而且易于整个项目的扩展、重用和分工协作。
  2.表示层(UI)。
  为用户提供交互操作界面,这一点不论是对于Web还是WinForm都是如此,就是用户界面操作。利用ASP.NET Web应用程序和XMLWeb services,Web客户端能够以可视形式为应用程序提供丰富、灵活和交互的用户界面。
  3.业务逻辑层(BLL)。
  负责关键业务的处理和数据的传递。复杂的逻辑判断和涉及数据库的数据验证都需要在此做出处理。根据传入的值返回用户想得到的值,或者处理相关的逻辑。
  4.数据访问层(DAL)。
  负责数据库数据的访问。主要为业务逻辑层提供数据,根据传入的值操作数据库,增、删、改或者其他。在分布式应用程序结构中,相应功能使用ADO.NET数据适配器和SQL服务器存储过程完成。
  二、ASP.NET的三层构架技术分析
  1.三层结构解释。
  所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换。
  开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改应用程序代码,就只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序,从而使开发人员专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。
  2. ASP.NET中的三层结构说明。
  完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层。否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说。不同的应用有不同的理解,这只是一个概念的问题。
  3.理解ASP.NET中的三层结构——为什么要分三层?。
  我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。这说明将应用程序划分层次,会带来其执行速度上的一些损失。但从团队开发效率角度上来讲却可以感受到大不相同的效果。
  需要说明的是,三层结构不是.NET的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。
  三、建立ASP.NET项目的三层构架
  1.建立类库。
  为了整个项目开发方便,我们在项目中建几个类库:SQLHelper,BLL,DAL,Model和一个Web网站。
  业务逻辑层(BusinessLogicLayer):BLL,命名空间默认设置为BLL。
  数据访问层(DataAccessLayer):DAL,命名空间默认设置为DAL。
  SQL帮助类:SQLHelper,命名空间默认设置为SQLHelper。
  2.建立实体类库。
  为了数据传递的方便,通常再添加一个类库,这个类库是贯穿于整个三层架构中的,即实体类。通常命名为Model,命名空间默认值设置为:Models。其中封装的每个类都对应一个实体,通常就是数据库中的一个表。如数据库中的用户表(custom)封装为(custom),将表中的每个字段都封装成共有的属性。
  这样三层架构的搭建就基本完成了。这三层有着非常强的依赖关系:
  表示层?葑业务逻辑层?葑数据访问层
  它们之间的数据传递是双向的,并且通常借助实体类传递数据。
  四、三层构架的优点
  1.易于项目的修改和维护。
  在项目的开发过程中或者开发后的升级过程中,甚至在项目的移植过程中。这种三层架构是非常方便的。比如项目从Web移植到Form,我们只需要将表示层重新做一遍就可以了,其余两层不用改动,只需添加到现有项目就可以了。如果不采用这种架构,只是将代码写到表示层,那么所有的编码几乎都要重新来。
  2.易于扩展。
  在功能的扩展上同样如此,如有功能的添加只需把原有的类库添加方法就可以了。
  3.易于代码的重用。
  4.易于分工协作。
  五、结语
  设计模式中的分层构架实现了各司其职,互不干涉,因此哪一层的需求发生了变化,就只需要更改相应地层中的代码而不会影响到其他层中的代码。这样就能更好地实现开发中的分工,有利于组件的重用,所以一个好的模式在程序开发和后期维护中作用非常大。
  参考文献:
  [1]Professional ASP.NET Design Patterns ASP.Net设计模式. 清华大学出版社.
  [2]Ultra Fast ASP.NET构建高性能可扩展ASP.NET网站. 人民邮电出版社.
  [3]微软公司.Developing XML Web Services Using Microsoft ASP.NET.北京:清华大学出版社,2003.
  [4]ASP.NET 3.5 Enterprise Application Development with Visual Studio 2008 ASP.NET 3.5商用开发架构精解.清华大学出版社.

推荐访问:构架 环境 开发 技术