以下文章转载于http://www.cnblogs.com/dragonlhf/archive/2006/07/30/463110.html

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数据访问层接口定义

OracleProfileDALOracle的Profile Providers 做用户状态管理
SQLProfileDALSQL Server 的Profile Providers 做用户状态管理

MembershipMembership认证和授权管理
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开发指南的相关知识,
如有错误请指出我将及时更正!

转载于:https://www.cnblogs.com/prayforsmile/archive/2008/03/12/1102345.html

PetShop4.0--转载相关推荐

  1. petshop4.0 详解之一(系统架构设计)(转载)

    前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来.这种争论不可避免带有浓厚的商 ...

  2. [zt] petshop4.0 详解之三

    三.PetShop数据访问层之消息处理 在进行系统设计时,除了对安全.事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量.数据流量.服务器 ...

  3. petshop4.0 具体解释之中的一个(系统架构设计)

    前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有很多.Net与J2EE之争,很多数据是从微软的PetShop和Sun的PetStore而来.这样的争论不可避免带有浓厚的 ...

  4. 《王福朋petshop4.0视频教程》新浪视频(高清)

    什么是petshop PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来.这种争论不可 ...

  5. petshop4.0 详解之一(系统架构设计)

    前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来.这种争论不可避免带有浓厚的商 ...

  6. petshop4.0 详解之三(PetShop数据访问层之消息处理) [转]

    三.PetShop数据访问层之消息处理 在进行系统设计时,除了对安全.事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量.数据流量.服务器 ...

  7. PetShop4.0的安装、设置、调试与体验(草稿)

    一.安装时注意,选择完全安装,这样,就可以把4个数据库一齐装上. 二."生成"→"重新生成解决方案" 三.数据库里已经有12个注册用户,分别是: demo, A ...

  8. Spring.NET企业架构实践之 Nhibernate + WCF + ASP.NET MVC + NVelocity 对PetShop4.0重构(三)——持久层...

    什么是持久层?先解释什么是持久,英文persistence,将内存中的数据固化,保持在物理储存设备中.然而在企业应用中,往往通过关系型数据库来完成这一过程.那么持久层的定义是:相对于三层架构中的表示层 ...

  9. petshop4.0数据库分析一:数据库概览

    petshop4.0一共有四个数据库,分别是MSPetShop4.MSPetShop4Orders.MSPetShop4Profile .MSPetShop4Services. MSPetShop4是 ...

  10. n!后面有多少个0(转载)

    我的思路: 从"那些数相乘可以得到10"这个角度,问题就变得比较的简单了. 首先考虑,如果N的阶乘为K和10的M次方的乘积(N!=K∗10MN!=K*10^M),那么N!末尾就有M ...

最新文章

  1. STM32——SPI接口
  2. Redis的安装过程步骤
  3. 公众号内打开提示404_微信公众号文章内如何插入视频?
  4. 关于软件测试里面的Fault Error Failure 差别
  5. java获取电脑配置_Java.Utils:获取电脑配置信息
  6. 解决U盘复制拷贝文件过大不能超过4G的方法
  7. python 卡方分布函数_推断统计分析(二):python验证三大抽样分布
  8. 70句计算机英语,70句必背的经典英文电影台词(中英双语)
  9. 利用Python将PDF转化为图片的方法
  10. cypress 安装
  11. 计算机键盘汉字,统一码计算机汉字键盘输入法
  12. esx linux 硬盘 扩容,ESX虚拟机添加新磁盘并扩容逻辑卷
  13. openjudge 拯救行动
  14. JQuery和JS怎样实现淘宝购物车的添加和删除?
  15. 最近无聊做了一个新站玩玩(www.01zhc.cn)
  16. onenote 使用_使用OneNote使记忆信息更容易
  17. PostgreSQL之函数和操作符
  18. 调用百度云语音转文本
  19. C语言中的保留字及其含义
  20. android 驾考软件开发,驾考驾照考试2019app

热门文章

  1. react(89)--设置只能正整数
  2. 前端学习(3059):vue+element今日头条管理-优化文章状态
  3. [css] 写一个高度从0到auto的transition动画
  4. [vue-cli]在使用vue-cli开发vue项目时,自动刷新页面的原理你了解吗?
  5. 工作199:获取接口token
  6. 前端学习(2538):slice
  7. 工作38:实现分页秀呀
  8. 前端学习(1884)vue之电商管理系统电商系统之实现侧边栏的折叠和展开
  9. 前端学习(1542):cdn简介
  10. 前端学习(1255):promise用法