下面用工厂模型来实现一个连接数据库的例子。实现在不改变代码的前提下,只通过修改相应的配置文件,就可以达到连接Sql Server和Access的目的。
在现实情况中,我们经常遇到同一个程序,在不同的地方要连接不同数据库的问题。为此,我们传统做法是把所有的代码都写在程序中,用if else做判断,然后再选择要连接的数据库。
下面的程序使用工厂模型的概念,利用接口来实现在不改变代码的前提下,只需改动相应的配置文件,就可以达到切换数据库的目的。而且在连接未知数据库时,也不需要改原代码,只需要扩展接口实现类.
说明:示例共有五个文件。
IsqlHelper.cs是定义数据访问接口文件。里面定义了两个数据访问方法:GetData()和SetData()
sqlSever.cs继承IsqlHelper接口,实现接口方法
Access.cs继承IsqlHelper接口,实现接口方法
sqlFactory.cs是工厂类,根据配置文件动态创建sqlServer或是Access
App.config是配置文件,定义本地程序需要用哪种数据库连接
大家已经注意到了,调用代码里面都是面向接口编程的,所以只要接口稳定,那么程序的升级或是改动也就是稳定的。
情况一,修改Access的某个访问方法:只需要改Access里面的代码,不需要改主程序的任何地方。
情况二,增加对MysqL的支持:只需要增加一个MysqL.cs,继承IsqlHelper,Factory里面增加对MysqL的判断即可。主程序不需要改任何地方,只需要把配置文件改成MysqL的连接字符串即可。
上面的程序只是示例程序,里面的GetData()和SetData()没有意义,下面我给出在一般情况下访问数据库时,需要的接口方法,大家可以按照上面的代码说明,去实现自己的sqlHelper类。
如需转载,请注明本文原创自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。