项目列表:从整体可以看出,Pet Shop 4的项目体系已经很庞大,考虑的方面也较3.0更全面复杂。
序号
|
项目名称
|
描述
|
1
|
BLL
|
业务逻辑层
|
2
|
CacheDependencyFactory
|
缓存依赖类的
工厂类
|
3
|
WEB
|
表示层
|
4
|
DALFactory
|
数据层的抽象工厂
|
5
|
DBUtility
|
数据访问类组件
|
6
|
IBLLStrategy
|
同步/异步策略接口
|
7
|
ICacheDependency
|
缓存依赖类
接口
|
8
|
IDAL
|
数据访问层接口定义
|
9
|
IMessaging
|
异时处理消息队列接口定义
|
10
|
IProfileDAL
|
Profile
的数据访问层接口定义
|
11
|
Membership
|
Membership
认证和授权管理
|
12
|
MessagingFactory
|
异时处理消息队列的
抽象工厂
|
13
|
Model
|
业务实体
|
14
|
MSMQMessaging
|
异时处理消息队列的实现
|
15
|
OracleDAL
|
Oracle
数据访问层
|
16
|
OracleProfileDAL
|
Oracle
的Profile Providers
做用户状态管理,包括购物车等
|
17
|
OrderProcessor
|
后台处理进程,处理订单队列
|
18
|
Profile
|
Profile
的数据访问层
|
19
|
ProfileDALFactory
|
ProfileDAL
的工厂类(反射创建ProfileDAL)
|
20
|
SQLProfileDAL
|
SQL Server
的Profile Providers
做用户状态管理,包括购物车等
|
21
|
SQLServerDAL
|
SQLServer
数据访问层
|
22
|
TableCacheDependency
|
缓存依赖实现类
|
1
.用System.Transactions代替了原来的Serviced Components提供的事务功能
代码实现:PetShop.BLL.OrderSynchronous 的
public
void Insert(PetShop.Model.OrderInfo order)
。
项目分解
:
由于整体已经有22个项目,所以,对于初学者一看就晕了,可以大体上分几块去理解。
序号
|
项目名称
|
描述
|
1
|
WEB
|
表示层
|
2
|
Model
|
业务实体
|
3
|
BLL
|
业务逻辑层
|
4
|
DALFactory
|
数据层的抽象工厂
|
5
|
IDAL
|
数据访问层接口定义
|
6
|
SQLServerDAL
|
SQLServer
数据访问层
|
7
|
OracleDAL
|
Oracle
数据访问层
|
8
|
DBUtility
|
数据库访问组件基础类
|
9
|
CacheDependencyFactory
|
缓存依赖类的
工厂类
|
10
|
ICacheDependency
|
缓存依赖类
接口
|
11
|
TableCacheDependency
|
缓存依赖实现类
|
12
|
IBLLStrategy
|
同步/异步处理策略接口(实现在bll根据配置反射选择)
|
13
|
MessagingFactory
|
异时处理消息队列的
抽象工厂
|
14
|
IMessaging
|
异时处理消息队列接口定义
|
15
|
MSMQMessaging
|
异时处理消息队列的实现
|
16
|
Profile
|
Profile
的数据访问层
|
17
|
ProfileDALFactory
|
ProfileDAL
的工厂类(反射创建ProfileDAL)
|
18
|
IProfileDAL
|
Profile
的数据访问层接口定义
|
19
|
OracleProfileDAL
|
Oracle
的Profile Providers
做用户状态管理
|
20
|
SQLProfileDAL
|
SQL Server
的Profile Providers
做用户状态管理
|
21
|
Membership
|
Membership
认证和授权管理
|
22
|
OrderProcessor
|
后台处理进程,处理订单队列
|
工厂模式
:
首当其冲的就是工厂模式,很容易就可以看出来,也是应用最多的。
DALFactory
:数据访问层的抽象工厂(决定创建哪种数据库类型的数据访问层。可以选择:SQLServer,Oracle)
CacheDependencyFactory
:
缓存依赖类的
工厂类。(创建具体表的缓存依赖)
MessagingFactory
:
异时处理消息队列的
抽象工厂(反射创建具体的
异时处理类
)
ProfileDALFactory
:
ProfileDAL
的工厂类(反射
选择
创建Oracle 和SQL Server的 ProfileDAL)
策略模式:
IorderStrategy
中介模式
CategoryDataProxy ItemDataProxy ProductDataProxy
具体介绍可以参看MSDN:
.NET Pet Shop 4: Migrating an ASP.NET 1.1 Application to 2.0
下载:
3.Petshop 4中的设计模式
:
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1604612