PetShop体系结构学习

<!---->
     PetShop4.0 采用了多层应用程序体系结构,并且应用了“反射注入”技术,简间抽象工厂模式,策略模式和外观模式,从而构建了一个高内聚,低耦合的,易于扩展和维护的,适合于团队开发的小型企业分布式应用系统。并且其中使用了很多 ASP.NET2.0 的新特性,可以说是一个典型的学习案例项目。下面请看体系结构图:PetShop体系结构学习_第1张图片

 

    接下来分别介绍一下种个应用层的内容:
1.       表示层:
PetShop4.0的表示层由以下几个部分组成:一是实现常见的用户界面部分。例如:宠物类别的信息、单个宠物详细信息列表、搜索等。二是实现成员管理和用户配置的部分,例如:用户登陆/退出,注册新用户、维护用户信息、购物车、意向清单等。三是实现SQL数据缓存依赖的部分。这主要是一些针对CategoryItemProduct表的缓存依赖内容。四是实现处理来自消息队列异步订单,这部分实现包含在OrderProcessor控制台应用程序中。以上内容主要利用了ASP.NET窗体、用户控件、母版页、Wizard、登陆系列控件,各种类等。
2.      
业务逻辑层
业务逻辑层包含宠物商店与核心业务相关的逻辑。例如,Category,ProductInventoryItemsCart类。以Cart类为例,该类实现购物车功能,其中包括获取购物车商品的数量、设置单个宠物的购卖数量,计算总价、添加/删除宠物等多个方法。另外,业务逻辑层中还包括实现订单的Order.实现订单处理有两种方式,一种是同步订单处理,另一种是异步处理。

<script type="text/javascript"><!----></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <iframe name="google_ads_frame" scrolling="no" marginheight="0" allowtransparency="allowtransparency" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-6628499292856412&amp;amp;dt=1174305321234&amp;amp;lmt=1174305321&amp;amp;prev_fmts=728x90_as&amp;amp;format=468x60_as&amp;amp;output=html&amp;amp;channel=8929656665&amp;amp;url=http%3A%2F%2Fwww.cnblogs.com%2Fxuanfeng%2Farchive%2F2006%2F12%2F01%2F579499.html&amp;amp;color_bg=FFFFFF&amp;amp;color_text=000000&amp;amp;color_link=333333&amp;amp;color_url=666666&amp;amp;color_border=191919&amp;amp;ad_type=text_image&amp;amp;ref=http%3A%2F%2Fwww.cnblogs.com%2Fxuanfeng%2F&amp;amp;cc=474&amp;amp;u_h=800&amp;amp;u_w=1280&amp;amp;u_ah=770&amp;amp;u_aw=1280&amp;amp;u_cd=32&amp;amp;u_tz=480&amp;amp;u_his=1&amp;amp;u_java=true" marginwidth="0" frameborder="0" height="60" width="468"></iframe>
3.      
数据访问层
数据访问层包括与数据存储进行交互的多种组件。这些组件在功能上和业务逻辑层相互独立。PetShop4.0的数据访问层包括以下几个部分:一是实现针对Oracle数据库的成员资格提供程序(针对SQL Server 数据库成员资格提供程序为ASP.NET2.0内置)。二是实现自定义用户配置提供程序,包括针对OracleSQL Server两种类型。三是实现部分业务逻辑所需要的数据访问访问功能,例如,ItemCategoryOrderInventoryProduct类等。四是实现消息队列访问功能。
4.       数据存储
PetShop4.0支持多种数据存储方式,例如,SQL Server2000/2005Oracle<st1:chmetcnv tcsc="0" hasspace="False" sourcevalue="10" numbertype="1" negative="False" unitname="g" w:st="on">10g</st1:chmetcnv>.如果需要将数据存储在其它类型数据源中,则必须自定义数据访问层。另外,为了实现异步订单处理,PetShop4.0中使用了消息队列MSMQ.
5.       对象模型
对象模型也称为业务实体。主要用于表示数据存储中的持久对象。简单地说,业务实体可以模拟为一个或多个逻辑表,内容可能来自于一个或者多个数据库中的表中的字段。
结束。

 

你可能感兴趣的:(数据结构,oracle,sql,server,asp.net,asp)