通常我们在设计系统的时候,都会考虑到数据库访问的扩展:现在用SQL Server,可能某天就要用Oracle了。所以,针对这个扩展,解决的方法有很多,但目的只有一个:假如真的有那天,我们对系统的整改应该最小化。最常用的手段应该属设计模式了(只可惜刚开始接触设计模式,好多东西还搞不清楚),但这里阐述的是我们目前采用的方式,采用继承的方式,轻松实现数据库切换. 首先要设计几个不同的数据访问类:Class_Oracle , Class_SqlServer.注意,其中除了使用不同Provider,大部分代码是一致的.
public
class
Class_Oracle
{ //封装数据访问 }
public
class
Class_SqlServer
{ //封装数据访问 }
然后写一个Class: DbService,根据使用的数据不同继承不同的数据访问类即可 如果使用的是Oracle数据库,就这样,反之更改基类即可.
public
class
DbService:Class_Oracle
{ //some code }
这样在Client端就可以统一使用DbService类,从而达到,更改数据库,client不受影响的效果.