下载地址可以从网上搜索http://download.microsoft.com/download/8/0/1/801ff297-aea6-46b9-8e11-810df5df1032/Microsoft%20.NET%20Pet%20Shop%204.0.msi,也可点击此处。
PetShop4.0采用了多层应用程序体系结构,并且应用了“反射注入”技术,简间抽象工厂模式,策略模式和外观模式,从而构建了一个高内聚,低耦合的,易于扩展和维护的,适合于团队开发的小型企业分布式应用系统。并且其中使用了很多ASP.NET2.0的新特性,可以说是一个典型的学习案例项目。下面请看体系结构图:
接下来分别介绍一下种个应用层的内容:
1. 表示层:
PetShop4.0的表示层由以下几个部分组成:一是实现常见的用户界面部分。例如:宠物类别的信息、单个宠物详细信息列表、搜索等。二是实现成员管理和用户配置的部分,例如:用户登陆/退出,注册新用户、维护用户信息、购物车、意向清单等。三是实现SQL数据缓存依赖的部分。这主要是一些针对Category、Item和Product表的缓存依赖内容。四是实现处理来自消息队列异步订单,这部分实现包含在OrderProcessor控制台应用程序中。以上内容主要利用了ASP.NET窗体、用户控件、母版页、Wizard、登陆系列控件,各种类等。
2. 业务逻辑层
业务逻辑层包含宠物商店与核心业务相关的逻辑。例如,Category,Product、Inventory、Items和Cart类。以Cart类为例,该类实现购物车功能,其中包括获取购物车商品的数量、设置单个宠物的购卖数量,计算总价、添加/删除宠物等多个方法。另外,业务逻辑层中还包括实现订单的Order.实现订单处理有两种方式,一种是同步订单处理,另一种是异步处理。
3. 数据访问层
数据访问层包括与数据存储进行交互的多种组件。这些组件在功能上和业务逻辑层相互独立。PetShop4.0的数据访问层包括以下几个部分:一是实现针对Oracle数据库的成员资格提供程序(针对SQL Server 数据库成员资格提供程序为ASP.NET2.0内置)。二是实现自定义用户配置提供程序,包括针对Oracle和SQL Server两种类型。三是实现部分业务逻辑所需要的数据访问访问功能,例如,Item、Category、Order、Inventory、Product类等。四是实现消息队列访问功能。
4. 数据存储
PetShop4.0支持多种数据存储方式,例如,SQL Server2000/2005、Oracle
5. 对象模型
对象模型也称为业务实体。主要用于表示数据存储中的持久对象。简单地说,业务实体可以模拟为一个或多个逻辑表,内容可能来自于一个或者多个数据库中的表中的字段。