大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
.项目概述与架构分析
微软刚推出了基于ASP.NET 2.0下的Pet Shop 4, 该版本有了一个全新的用户界面。是研究ASP.NET 2.0的好范例啊,大家都知道,一直以来,在.NET和Java之间争论不休,到底使用哪个平台开发的企业级应用性能最好、结构最优、生产力最高。为了用事实说话,通过对项目各方面的性能评估进而在比较.NET和Java的高下。用户做比较的这个项目就是Petshop。正因为Petshop肩负着上面所说的重任,各方面必须是最优的,架构设计应该是经过慎重考虑的。所以其一经推出,便成为了开发者、架构师等人学习、研究的典范。
.用System.Transactions代替了原来的Serviced Components提供的事务功能
public
void Insert(PetShop.Model.OrderInfo order)
。
.用强类型的范型集合代替了原来的弱类型集合
.采用ASP.NET 2.0 Membership来做认证和授权
.创建了针对Oracle 10g的Custom ASP.NET 2.0 Membership Provider
.利用ASP.NET 2.0的Custom Oracle 和 SQL Server Profile Providers 做用户状态管理,包括购物车等
.采用了Master Pages,取代了原来的用户控件,来实现统一的界面效果
.使用了ASP.NET 2.0 Wizard控件实现check-out
.使用了SqlCacheDependency来实现数据库层次的缓存更新(cache invalidation)功能
.使用了消息队列来实现异时订单处理。
整体架构:
数据库:(暂略)
序号
| 项目名称
| 描述
|
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
|
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
|
后台处理进程,处理订单队列
|
.Petshop 4中的设计模式
:
:
:数据访问层的抽象工厂(决定创建哪种数据库类型的数据访问层。可以选择:SQLServer,Oracle)
:
缓存依赖类的
工厂类。(创建具体表的缓存依赖)
:
异时处理消息队列的
抽象工厂(反射创建具体的
异时处理类
)
:
ProfileDAL
的工厂类(反射
选择
创建Oracle 和SQL Server的 ProfileDAL)
IorderStrategy
转载于:https://blog.51cto.com/liweibird/289958
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181066.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...