PetShop4.0--转载

        以下文章转载于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis学习(7):Windows下安装MySQL详细教程

1、安装包下载。 下载地址:https://dev.mysql.com/downloads/mysql/ 点击下载之后,可以选择注册Oracle账号,也可以跳过直接下载。 下载完成后,选择一个磁盘内放置并解压。 2 安装教程 (1)配置环境变量 变量…

[NLP] 相对位置编码(二) Relative Positional Encodings - Transformer-XL

1. Motivation 在Transformer-XL中,由于设计了segments,如果仍采用transformer模型中的绝对位置编码的话,将不能区分处不同segments内同样相对位置的词的先后顺序。 比如对于$segment_i$的第k个token,和$segment_j$的第k个token的…

SendMessage函数的常用消息及其应用

文本框控件通常用于输入和编辑文字。它属于标准 Windows 编辑控件的一个子类,所以它支持所有 编辑控件消息?这儿讲述的技术也适用于由其他厂商设计的 , 以Windows编辑控件类为基础的其他控件? 函数原型: Declare Function SendMessage Lib "user32" Alias "Se…

配置文件 web.config 的讨论

可以直接修改&#xff0c;修改后立即生效&#xff0c;无需重新编译&#xff0c;可以把数据连接对象直接加到web.config 中&#xff0c;从而方便修改&#xff0c;如果写在类中的话&#xff0c;修改后需要重新编译1、所有的配置都必须放在<configuration></configuratio…

mybatis学习(8):The server time zone value '???ú±ê×??±??' is unrecognized or represents more

【报错信息】 【百度翻译】 服务器时区值???????无法识别或表示多个时区。如果要利用时区支持&#xff0c;必须配置服务器或JDBC驱动程序&#xff08;通过ServerTimeZone配置属性&#xff09;&#xff0c;以使用更具体的时区值 【解决方法】 数据库连接配置conf.xml(在原…

Interesting Finds: 2008.03.17

.NET: LINQ Framework Design Guidelines 使用 Visual Studio 分析器找出应用程序瓶颈 Add Support for "Set" Collections to .NET Debug: ASP.NET Case Study: Hang on WaitOne, WaitAny or WaitMultiple Web: Silverlight 2 Developer Poster Syndication 资源 Ar…

Linux 常用的帮助命令

linux 常用的帮助命令 1.help -相当于man的简化版 例如&#xff1a;vim –help 2.man: 详细介绍vim的用法 例如&#xff1a;man vim 3.info:偏重介绍文档 例如&#xff1a; info vim

用进程管理的方法进行自我时间管理

用进程管理的方法进行自我时间管理 操作系统为了实现大的吞吐量&#xff0c;处理器的高效利用&#xff0c;各类资源的平衡使用&#xff0c;短的周转时间&#xff0c;快的响应时间&#xff0c;有保障的截止时间&#xff0c;设计了很多进程调度算法。而人类的思想成果是可以迁移的…

b/s c/s结构的区别!

1 引言 散进散出货物或者称为大宗入出库货物的管理是综合仓库管理的主要内容??1??2??。目前&#xff0c;随着信息技术和网络技术的发展&#xff0c;“信息高速公路”建设已在全球拉开序幕&#xff0c;传统的ClientServer??简称CS??网络应用系统模式在开放性与信息的发…

mybatis学习(9):mybatis连接mysql数据库

首先本地安装一个mysql数据库 修改账号密码 我的是root 123 并用navicate测试连接 数据库为mybatis 表名为users 我们看一下目录结构 直接上代码 user类 package com.edu.hpu.domain;/*** author Administrator*user表所对应的实体类*/ public class User {//实体类的属…

基于mt19937_64的字符串哈希(板子整理)

引自tourist的哈希板子&#xff0c;引入和时间相关的随机值mt19937_64&#xff0c;所以不会被卡掉 入参&#xff1a;传入string 使用&#xff1a; #include<bits/stdc.h> using namespace std; #define rep(i,a,b) for(int i(a);i<(b);i) #define per(i,a,b) for(i…

C#创建xml文件

View Code 1 XmlDocument doc new XmlDocument();2 XmlDeclaration dec doc.CreateXmlDeclaration("1.0", "GB2312", null);3 doc.AppendChild(dec);4 //创建一个根节点&#xff08;一级&#xff09;5 …

mybatis学习(10): sql server身份验证和windows身份验证

SQL Server 支持两种身份验证模式&#xff0c;即 Windows 身份验证模式和混合模式。 Windows 身份验证是默认模式&#xff08;通常称为集成安全&#xff09;&#xff0c;因为此 SQL Server 安全模型与 Windows 紧密集成。 信任特定 Windows 用户和组帐户登录 SQL Server。 已经…

C# 格式化字符串 String.Format

格式化日期和数字的字符串经常要用到这个, 就把帮助里面的东西大概整理了一些列在这里了. 下表描述了用来格式化 DateTime 对象的标准格式说明符。 格式说明符 名称 说明 d 短日期模式 显示由与当前线程关联的 DateTimeFormatInfo.ShortDatePattern 属性定义的模式或者由指定…

推荐几个.NET开源图表组件 [转]

转自&#xff1a;http://blog.csdn.net/liujien/archive/2005/10/03/494509.aspx推荐几个.NET开源图表组件&#xff0c;希望大家发行有其它的可以添加一下&#xff0c;说明&#xff1a;因为没有记录在哪里下载&#xff0c;所以大部分只能让大家亲自搜索一下&#xff1a; &#…

MapReduce原理与设计思想

简单解释 MapReduce 算法 一个有趣的例子 你想数出一摞牌中有多少张黑桃。直观方式是一张一张检查并且数出有多少张是黑桃&#xff1f; MapReduce方法则是&#xff1a; 给在座的所有玩家中分配这摞牌让每个玩家数自己手中的牌有几张是黑桃&#xff0c;然后把这个数目汇报给你你…

mybatis学习(11): sql server配置管理器请求失败或服务未及时响应

遇到这种情况&#xff0c;打开sql server配置管理器&#xff0c;双击【sql server网络配置】将其展开&#xff0c;双击子项【MSSQLSERVER的协议】&#xff0c;在右面的内容窗口中找到【VIA】选项将其设置为禁用就可以了。

宰相的智慧

春节的时候回北京的火车上&#xff0c;看到火车的杂志介绍央视即将播出《神探狄仁杰3》&#xff0c;一直对这部电视剧充满期待。上周我在网上看完了《神探狄仁杰3》的“黑衣社”部分&#xff0c;拍的真好看。 看《神探狄仁杰1》(《武朝迷案》)幽州案时&#xff0c;有一个镜头给…

mybatis学习(12)com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP

检查SQL Server Configuration Manager 确定实例名为“SKYSQLEXPRESS”下的TCP/IP已经开启了&#xff1a; sql2014配置(系统为Windows8.1) 一般地可以在下图路径中找到: 进入配置管理器界面如图: 右击“TCP/IP”选择“属性”(或双击“TCP/IP”)&#xff0c;选择“IP地址”选项…

windows下eclipse调试hadoop详解

1)下载Eclipse http://www.eclipse.org/downloads/ Eclipse Standard 4.3.2 64位 2) 下载Hadoop版本对应的eclipse插件 我的hadoop是1.0.4&#xff0c;因此下载hadoop-eclipse-plugin-1.0.4.jar 下载地址&#xff1a;http://download.csdn.NET/detail/m_star_jy_sy/7376169 3&a…