自适应多种数据库的组件设计(各位久违了)

timmy3310 timmy3310 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各位C#版的大虾小虾:
抱歉,我这个版主实在是不称职,前段时间忙得不可开交,没办法经常上来,这里的事务有劳班兄和阿力兄了。
今天上来,看到几个朋友提出了关于数据库设计的一些问题,于是马上跑去写了一篇文章,希望大家能够原谅我。
我实在是对不住大家了......大家蹂躏我吧~~~~


言归正转:
自适应多种数据库的组件设计

.Net类库的数据库处理方式比ASP进步很多,多种数据提供程序提供了不同的数据库连接方式,到.Net Framework1.1版,已经自带了:
SqlClient
OleDb
Oracle
Odbc
四种方式,这四种方式各有优势,对于开发者来说,如果在没有效率损失的前题下设计出适用多种数据提供方式的组件,无疑可以大大提高编码效率和组件重用率。

.Net类库定义了一套数据提供程序设计的规范,上述四个提供程序都满足了该规范,在该规范的约束下,我们完全可以在逻辑层写出与底层实现无关的代码。

该规范,大家可以参考:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconimplementingnetdataprovider.htm
(注:我使用的是VS.Net2003中文版,其他版本的朋友请自行替换联接)

我在这里为了方便讲述,大致提一下

.Net类库设计了一系列的接口,.Net Framework数据提供程序应该实现这些接口,这些接口包括:
IDbConnection 数据库连接
IDbTransaction 本地事务
IDbCommand 命令
IDataParameter 参数
IDataParameterCollection 参数集合
IDataReader 只读数据流
IDataAdapter 数据适配器
IDbDataAdapter 面向数据库的适配器

对于DataAdapter有一点补充,.Net实现了一个DbDataAdapter类,该类实现了IDataAdapter和IDbDataAdapter,并提供了更丰富的方法,一般来说,完整的Net数据提供程序的DataAdapter都是从该类直接派生,如SqlDataAdpater、OleDbDataAdapter

另外,接口本身不能定义构造器,所以.Net制定了了另一套构造器的规范,请参考:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconimplementingnetdataprovidercodeconventions.htm

到这里,大家应该明白我想说什么了吧,我们可以写一套组件来动态根据配置创建这些接口,而在逻辑层使用统一的接口,那么就达到了逻辑与底层分离的设计思想。
大家应该都接触过设计模式,听说过工厂模式,实际上在这里正是工厂模式发挥作用的时候,比如我们写一个创建Connection对象的工厂来创建连接对象:
...全文

相关推荐

Oracle Database 10g 数据仓库构建与优化实战指南

ETL(Extract, Transform, Load)流程是数据仓库中非常关键的一部分,它涉及数据从源系统抽取、转换和加载到目标数据仓库的过程。抽取(Extract)是指从源系统中获取数据;转换(Transform)包括清洗、格式化、计算等操作,以满足数据仓库的数据模型和质量要求;加载(Load)则是将转换后的数据导入到目标数据库中。ETL工具有多种,比如开源工具如Talend, Apache NiFi,商业工具如Informatica, Oracle Data Integrator等。

明月清风晓星

chrome-headless-shell-win32-159.0.8132.0(Canary).zip

chrome-headless-shell-win32-159.0.8132.0(Canary).zip

LCG元

惠普150 联想1821 1831 1831W定影清零,转印带清零

惠普150 联想1821 1831 1831W定影清零,转印带清零,报错不打印,通过清零软件可以清除。内附使用说明。

weixin_45614853

【电液伺服执行器与PI控制器】带有PI控制器的电液伺服执行器的模拟研究(Simulink仿真实现)

内容概要:本文围绕带有PI控制器的电液伺服执行器开展模拟研究,利用Simulink工具构建系统仿真模型,深入分析PI控制器在电液伺服系统中的控制性能与动态响应特性。研究内容涵盖系统建模、PI控制参数整定、仿真结果分析等关键环节,重点探讨PI控制器对系统稳定性、响应速度及抗干扰能力的优化作用,并通过仿真验证控制策略的有效性与实用性; 适合人群:具备自动控制原理、液压传动基础知识及Simulink仿真能力的自动化、机械电子、控制工程等相关专业的高校学生、研究生及工程技术人员; 使用场景及目标:①用于自动控制类课程的教学实验或课程设计,帮助学生深入理解电液伺服系统的工作原理与典型控制方法;②应用于工业高精度执行机构的控制器设计,为实际工程中的系统优化提供理论支撑与仿真验证手段; 阅读建议:文中提供的Simulink模型与仿真流程具备良好的可复现性,建议读者结合具体工况调整PI参数,进一步探究PID或其他先进控制算法的改进效果,以深化对控制系统设计的理解与应用能力。

三伯

FYZN PcbDesigner.App.1.0.18.12-win10.rar

打开与保存 常用格式直接读写:打开、编辑、保存 .PcbDoc(含设计规则、层叠等信息)也能打开看结构 原理图文档:打开 / 新建 .SchDoc,和 PCB 文档一起在左侧项目树里管理,双击节点即可重开 另存为通用 ASCII:原理图与 PCB 都能导出为 ASCII 格式,方便文本比对、脚本处理,或交给别的流程 底图参考:需要对着图描的时候,可以给每个图层各放一张参考底图,与文件分开存 JSON,迁移工程时能一起带走 最近文件:最近打开的文件列表里可以直接右键「打开文件位置」 win10版本

b450207756
评论 80
收藏 已收藏
分享
返回顶部
timmy3310
C# 111,129 成员 642,539 内容