petshop是微软推出的企业级程序架构随着asp.net 2.0推出了petshop4.0,正好这几天没有事,研究一下,学习一下2.0的新特性,
它包括22个项目,其中有21个类库项目和一个Web站点项目,
这些项目可以分类来理解,主要包括以下几个部分,
Web 外观层
Bill 业务逻辑层
IDAL 数据访问层接口
DALFactory 数据层的抽象工厂
SQLServerDAL SQL数据访问层
OracleDAL Oracle数据访问层
Model 业务实体层
DBUtility 数据访问组件基础类
CacheDependencyFactory 缓存依赖的工厂类
ICacheDependency 缓存依赖类接口
TableCacheDependency 缓存依赖实现类
IBLLStrategy 同步/异步处理策略接口
MessagingFactory 异时处理消息队列的抽象工厂
IMessaging 异时处理消息队列接口定义
MSMQMessaging 异时消息队列的实现
Profile Profile数据访问层
ProfileDALFactory ProfileDAL的工厂类
IProfileDAL Profile数据访问层接口定义
OracleProfileDALOracle的Profile Providers 做用户状态管理
SQLProfileDALSQL Server 的Profile Providers 做用户状态管理
MembershipMembership认证和授权管理
OrderProcessor后台处理进程,处理订单队列
SQL数据库中含有四个数据库
它们分别为:MSPetShop4 ,MSPetShop4Oreder, MSPetShop4Profile 和MSPetShop4Servers
其中MSPetShop4有如下几个表分别为CateGory Product Item Supplier和Inventory五个表
其中CateGory存储宠物类别有关信息Product存储宠物的商品目录Item存储宠物的详细信息
Supplier存储相关供应商的信息Inventory存储和每种宠物的具体数量
MSPetShop4Order 含有一下三个表其数据库模型如下
Order表存储了订单的详细通信信息OrderStatus记录了订单的状态LineItem记录了订单中的宠物数量等等详细信息
MSPetshopPrifile 的数据库模型如下
其中Profile表记录了客户的基本活动信息
Account 记录了客户的身份地址相关信息
Cart记录了用户的意向清单和购物列表
最后一个数据库就是MSPetShop4Servers它相当于Visual Studio内置的成员和角色管理的数据库
这里不在讨论
!
在这么简单的功能中建如此大的工程和复杂的数据库设计.微软肯定有自己的卖点
下面我们看看PetShop4.0中相对于3.0的新增相关技术!
• |
用 System.Transactions 代替服务组件。 |
• |
用强类型集合的泛型代替松散类型的 ILists。 |
• |
ASP.NET 2.0 成员身份,用于用户身份验证和授权。 |
• |
用于 Oracle 10G 的自定义 ASP.NET 2.0 成员身份提供程序。 |
• |
ASP.NET 2.0 自定义 Oracle 和 SQL Server 配置文件提供程序,用于用户状态管理。 |
• |
用母版页取代 ASP.NET Web 用户控件,从而获得一致的外观。 |
• |
ASP.NET 2.0 向导控件。 |
• |
使用 SqlCacheDependency(而非基于超时)的数据库级缓存失效。 |
• |
启用基于消息队列构建的异步 Order 处理 |
在这个工程中用到了抽象工厂设计模式
我对设计模式了解的很少,明天深入学习一下抽象工厂设计模式,同时试着做一个类似多层的项目以尽快熟悉2005和了解它的新特性
本人是初学者以上内容参考了MSDN:http://www.microsoft.com/china/msdn/library/webservices/asp.net/dnbdabdasamppet4.mspx?mfr=true
http://ltp.cnblogs.com 以及asp.net2.0开发指南的相关知识,
如有错误请指出我将及时更正!