Microsoft.NET Pet Shop架构的研究与应用

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:shaonvshashou
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:近期微软推出Microsoft .NET Pet Shop 3和4架构例子,其目的是用Microsoft .NET 实现Sun主要的J2EE蓝图应用程序Sun Java Pet Shop同样的应用程序功能并与之进行性能比较。该架构采用分层模型,有诸多优点,是开发者、架构师等人学习、研究的典范。该架构不仅能应用于.NET的BS架构的项目开发,同样也能应用于CS架构的开发。本文通过分析该架构,讨论该架构的优点以及论述在具体工程开发中如何根据需要进行裁剪和扩充。
  关键词:软件架构;Pet Shop;分层模型;BS架构
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30786-01
  The Research and Application of the Frame of Microsoft .NET Pet Shop
  XU Qi-fa, ZHU Zhan-li
  (School of Computer Science, Xi'an Shiyou University, Xi'an 710065, China)
  Abstract:The software frame "Microsoft .NET Pet Shop" edition 3 and 4 be produced by Microsoft corporation in the near future, this frame realize the same function of "Sun Java Pet Shop" by Microsoft .NET in order to compare their capability with Sun's J2EE. This frame adopt delamination model, there are many merits, is mirror by software developer and deviser to study. This frame not only apply to BS frame of .NET but also can apply to CS frame. This paper will analyze this frame of "Microsoft .NET Pet Shop", discuss its excellence sides and discuss how to apply its idea in empoldering soft project.
  Key words:software frame; Pet Shop; delamination model; BS frame
  
  1 引言
  
  众所周知,一直以来,在.NET和Java之间争论不休,到底使用哪个平台开发的企业级应用性能最好、结构最优、生产力最高。微软推出这个架构,通过对项目各方面的性能评估进而对.NET和Java进行比较。肩此重任,架构设计应该是经过慎重考虑的。微软的该架构,在事务、数据缓存、安全方面使用了.NET 2.0附带的特性,构建了一个灵活的应用程序,旨在显示构建企业级n层应用程序的.NET最佳实践。通过对该架构的研究,合理的应用该架构意义重大。
  
  2 Microsoft .NET Pet Shop 4架构简介
  
  Microsoft .NET Pet Shop 4架构由22层组成,该分层的思想和目的与ISO网络的七层模型类似。第n层只对n+1层和n-1层提供接口,并不关系n+1层和n-1层怎么实现,各层之间相对独立。Pet Shop 4架构的22层模型从总体上分为三大层:表示层;业务逻辑层;数据接口层。表示层包括ASP.NET页面表示,用户的登录输入控制。该层涉及ASP.NET界面的范畴。业务逻辑层是对表示层返回的信息在网站服务器上处理的逻辑层。数据接口层是网站服务器与数据库服务器之间数据交换的逻辑层。
  
  3 Microsoft .NET Pet Shop 4架构的优点
  
  本人采用该架构进行软件开发,与以前的项目开发采用的架构进行比较,体验出很多优点,总结如下。
  3.1 采用业务实体模型,函数参数统一。通过定义业务实体层(Model层),所有的函数之间传递的参数都是一样的——Model层类的成员对象。
  3.2 各层代码模式相同,便于代码的编写和维护。各层中的类名相同——都以数据库中的用户表命名;每层中代码模式相似,编写简单,维护方便。
  3.3 表示层数据库访问代码简单统一,更好的体现业务逻辑。通过这种架构的设计,表示层不必为复杂的数据库访问而烦恼,因为这样数据库访问代码模式规则,代码量少。能更好的体现业务逻辑的实现。
  3.4能方便的实现多种数据库管理系统的支持和切换。针对各种数据库管理系统的SQL语句的差异,把有差异的部分放在一层中,这样要更换不同的数据库管理系统,只要重写一层即可。
  3.5 通过分层模型,各层之间耦合性小,代码修改方便。功能扩充方便。
  
  4 Microsoft .NET Pet Shop 4架构的应用
  
  我所在的团队在项目开发中,从Pet Shop的22层模型中抽取出7层模型。实践显示,能很好的满足我们的需要,构建了结构良好的框架。我们采用的7层模型为:
  (1) Model层
  业务实体层。该层按照数据库表的字段建立数据库模型。表与该层的类一一对应。字段与类的成员也一一对应。例如表User有userID、userName两个字段,都是varchar类型,则该层中建立类User,该类有string类型成员userID和userName和这两个成员的get、set属性。这样各层之间关于该类的函数传递的参数就是该类的对象,通过set属性设置成员的值get属性获取成员值。以使函数的参数统一,函数不用重载。
  (2) IDAL层
  数据访问接口层。在该层中定义函数的接口,在下面介绍的SQLServerDAL层中实现函数功能。其目的有两个:功能定义与功能实现分开;功能定义与数据库管理系统分开。功能定义与实现分开有助于系统分析师从整体上着眼设计系统的功能,具体的实现可以根据具体的数据库环境具体编码。
  (3) SQLServerDAL层
  SQLServer数据访问层。根据具体的数据库管理系统实现数据访问接口层定义的功能函数。该层按照需要写具体的SQL语句。读取下面介绍的BLL层传递的参数,调用DBUtility层的SQL语句执行函数。众所周知,使用相同的前台语言不同的数据库管理系统创建项目的差异就是SQL语句的差异,所以,如果改用不同的数据库管理系统只要修改或者添加该层即可。
  (4)DALFactory层
  数据层的抽象工厂。该层主要有ConnDataBase类和DataAccess两个类。ConnDataBase定义数据库连接对象、适配器对象和各种数据库操作命令对象。建立数据库连接并设其他各对象的初值。在DataAccess定义返回数据访问接口层类的对象,首先定义SQLServer数据访问层的对象然后强制转换为数据访问接口层类的对象返回给下面介绍的业务逻辑层。
  (5) DBUtility层
  数据库访问组件基础类。该层中主要有SQLHelps类。其SQLHelps定义命令执行的函数和SQL语句参数添加的函数。当然还可以加上存储过程的调用函数。
  (6) BLL层
  业务逻辑层。利用数据层抽象工厂中的DataAccess类的方法返回的数据访问接口层类的对象调用数据访问接口层中定义的方法,实现功能的调用。该层实现承上启下的衔接作用。
  (7) Web层
  表示层。该层写于web的代码页中,有了上面6层的构建,我们的web层面访问数据库将十分轻松。首先定义一个Model层类的对象,然后根据需要通过set属性设置该该对象的成员的值,再定义一个BLL层类的一个对象,通过该对象返回的数据访问接口层相应类的实例调用需要的功能函数。
  经过这种架构设计的项目,各层中各个类中的方法结构统一,写好一个方法后通过复制修改参数就可以了,代码出错的概率小,维护简单。另外如果我们的项目根据需要还要扩充,我们能很轻松的实现。该分层模型提供了完善的空间。例如,如果我们要将该项目的数据库改为Oracle,只要添加OracleDAL层即可实现数据库管理系统的转换。
  
  5 小结
  
  Microsoft .NET Pet Shop架构特别是版本4其功能十分强大,并且还不断的进行扩充和完善。根据具体的工程需要,我们可以随意的进行裁剪并能扩充。对于该架构的研究和应用有待于我们进一步努力。
  
  参考文献:
  [1]www.msdn.micrisoft.com/zh-cn/default.aspx,2007.04.
  [2]www.microsoft.com/china/msdn/events/webcasts/shared/webcast/msdnwebcast.aspx. 2007.05.
  [3]http://eroad.alai.net/. 浅析《Microsoft .NET Pet Shop》程序中的购物车和订单处理模块. 2006.12.
其他文献
摘要:基于Vrml技术完成了三维虚拟校园的设计和实现,对建模、交互控制及优化技术进行了详细的介绍和分析,为研究和探索Vrml技术在虚拟建筑展示领域的应用提供了有益的思路。  关键词:虚拟校园;Vrml;建模;交互控制;优化  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30671-02  Research and Implementation of Virtu
期刊
摘要:随着计算机技术和网络技术的飞速发展,校园网大力建设和不断完善。为了满足对高校教师信息管理的需要,建设一个使用方便而且高效的B/S模式教师信息管理系统十分迫切。在系统中基于三层结构模型的ASP应用程序提高了系统的可重用性和可扩展性,同时运用子查询的方法,提高了数据库查询效率。  关键词:教师信息管理; ASP;模型;子查询  中图分类号:TP315文献标识码:A文章编号:1009-3044(2
期刊
摘要:本文介绍了在Access环境下通过ODBC数据源实现SQL Server数据库中数据表的链接,然后利用Access的功能组件完成车辆销售系统的设计,并通过网络实现对SQL Server 数据库的管理和维护。  关键词:Access;SQL Server;ODBC;车辆销售  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30636-02  The Desi
期刊
摘要:随着互联网的普及,越来越多的公司、企业拥有了自己的网络,如何使用NAT技术让自己的局域网能够安全的访问互联网,这是很多人都关心的问题。本文对NAT技术作一个较为全面的介绍,以便于用户更好的理解和使用NAT。  关键词:NAT;地址映射;局域网  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30660-01  Application of NAT in L
期刊
摘要:本文首先建立了一个小规模低成本的基于Windows平台的IPv6实验室,详细介绍了搭建实验室的方法和步骤,解决了IPv6网络的实验开发运行的环境问题,最后对IPv6网络连通性和静态路由进行了测试与分析,验证IPv6网络的一些特点。  关键词:IPv6;过渡;连通性;静态路由  中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)15-30699-03  Test o
期刊
摘要:DCS系统事故分析方式主要有六种,通过这些方式大大提高了事故分析的科学性,保证了系统更加安全高效的运行。  关键词:DCS系统;事故分析方式  中图分类号:TP29文献标识码:A文章编号:1009-3044(2007)15-30762-02  On the Role of DCS in Accident Analys  LI Ri-gang  (Qianan SembCorp Cogener
期刊
摘要:作者针对实际应用AutoCAD软件绘图中,图形数据量大,用户绘图速度慢的问题,在文中提出了一些实践操作技巧,可以帮助用户有效地提高绘制复杂图形的速度。  关键词:AutoCAD;绘图速度;技巧  中图分类号:TP319文献标识码:A文章编号:1009-3044(2007)15-30757-01  The Talk Improves AutoCAD Several of the Speed D
期刊
摘要:本文讲述了获取磁盘序列号的方法,并利用所读取的磁盘序列号来作为甄别正版软件的一种手段。  关键词:磁盘序列号;正版软件;识别  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30751-01  Make Use of the Sequence of Disk to Distinguish the Genuine Software  GONG Ming-fe
期刊
摘要:WebGIS是将Internet技术应用于GIS开发的产物,是GIS发展的趋势之一。首先,比较了几种主要的WebGIS技术,并对基于Java技术的WebGIS系统开发方式作了总结。然后,阐述了基于Java Applet的实现机制。最后,讨论了基于Java Applet技术的WebGIS系统的具体实现。  关键词:互联网地理信息系统;小应用程序;WebGIS  中图分类号:TP311文献标识码
期刊
摘要:本文详细讲述了在C#语言中的参数的传递,包括了数值、数组与对象的传递,并区分了值传递、引用传递的不同。  关键词:值类性;引用类型;值传递;引用传递  中图分类号:TP312文献标识码:A文章编号:1009-3044(2007)15-30749-02  Analyzing the Parameter Pass in C# Language  BAI Xue-bing  (Zhejiang I
期刊