表 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 输入参数的方式。 |
存储过程的缺点在于,它们往往是专有的,不能跨平台移植。