• 节约使用数据库服务器的有限资源。
• 注意网络的往返。
• 在适当的情况下,增强执行计划的重复使用率并避免重复编译。
• 使用适当的锁定模型管理并发性。
从我使用模块化设计方法的个人经验来看,整个应用程序中专用于处理特定数据源的代码量不会超过总量的 10%。显而易见,这比仅仅更改配置文件中的连接字符串更复杂,但我认为,这样做会获得性能收益,因此这是一个可接受的折衷办法。
使用基本接口
此处的目标是使用抽象,并将特定于特殊数据源的代码封装在类层中,从而使应用程序的其他部分独立于后端数据库服务器或免受其影响。
.NET Framework 的面向对象这一特性将在该过程中为我们提供帮助,使我们能够选择要使用的抽象级别。选项之一是使用每个 .NET 数据提供程序都必须实现的基本接口(IDbConnection、IDbCommand、IDataReader 等)。另一个选项是创建一组类(数据访问层),用于管理应用程序的所有数据访问逻辑(例如,使用 CRUD 范例)。为检查这两种可能性,我们首先从基于 Northwind 数据库的订单输入应用程序示例入手,然后插入和检索不同数据源中的信息。
数据提供程序基本接口标识应用程序与数据源进行交互通常所需的典型行为:
• 定义连接字符串。
• 打开和关闭与数据源的物理连接。
• 定义命令和相关参数。
• 执行可以创建的不同种类的命令。
• 返回一组数据。
• 返回标量值。
文章来源于领测软件测试网 https://www.ltesting.net/