解析Microsoft .NET Pet Shop

时间:2021-09-11 17:07:42
摘要:.NET Pet Shop的目的是用Microsoft .NET实现Sun主要的J2EE蓝图应用程序Sun Java Pet Store 同样的应用程序功能。 根据用.NET实现的Sun J2EE最佳实践示例应用程序。同时了解构建基于Web的应用程序中用到的各种建议的设计模式之间的异同。.NET Pet Shop应用程序现在已经是第三版了,旨在显示构建企业级n层应用程序(可能需要支持多种数据库平台和部署模型)的.NET最佳实践。

  下面我们会分为几个部份对.NET Pet Shop做个深入的解析,通过这个项目了解Pet Shop的设计模式及架构,这篇文章是第一部份,主要分析Pet Shop在实现多数据库平台移植方面所采用的设计模式和架构。

  1.Pet Shop 解决方案

  Pet Shop 示例代码的下载地址是:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E2930625-3C7A-49DC-8655-A8205813D6DB&displaylang=en

  安装后在你的安装目录中有Pet Shop的解决方案PetShop.sln ,打开解决方案后可以看到解决方案中的各个项目。如下图所示:

解析Microsoft .NET Pet Shop
图1


  Pet Shop 解决方案中的 Visual Studio 项目列表如下:

 

项目

用途

BLL

业务逻辑组件存放之处

ConfigTool

用来加密连接字符串和创建事件日志源的管理应用程序

DALFactory

用来确定加载哪一个数据库访问程序集的类

IDAL

每个 DAL 实现都要实现的一组接口

Model

瘦数据类或业务实体

OracleDAL

Oracle特定的Pet Shop DAL实现,使用了IDAL接口

Post-Build

运行编译后操作的项目,比如将程序集添加到 GAC 或 COM+

Pre-Build

将程序集从 GAC 删除或从 COM+ 注销程序集的项目
SQLServerDAL Microsoft SQL Server特定的Pet Shop DAL实现,使用了IDAL接口

Utility

一组帮助器类,包括 DPAPI 的包装

Web

Web页和控件
Solution Items 用来构建应用程序的杂项,比如用来签署应用程序程序集的Pet Shop.snk密钥文件