表 4. 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 密钥文件 无需更改或重新编译业务逻辑组件。 图 10. .NET Pet Shop 中 DAL 工厂类的实现
|
存储过程提供了封装查询的一种简洁机制。 | |
• | 修改查询可以在不改变数据访问代码的情况下进行。 |
• | DBA 可以很容易地看到正在执行什么 SQL 语句。 |
• | 存储过程一般更安全,对数据库访问的控制也更容易。 |
• | 使用存储过程,可通过在存储过程中发送多个请求,避免与客户端的多次往返行程。 |
• | 存储过程与中间层生成的 SQL 相比,通常能提供最佳性能。 |
• | 存储过程提供了极好的封装 XML 查询和 XML 输入参数的方式。 |
存储过程的缺点在于,它们往往是专有的,不能跨平台移植。