用c#如何实现数据库程序的封装,新人请指点,
工作需要,从linux转到windows,才看了几周c#,目前在程序设计上遇到个问题。
设计时把软件分为几个独立模块,其中有“GUI模块”和“数据库处理模块”,我想在“数据处理模块”中提供一个或多个方法用来“GUI模块对数据库”的日常操作,有什么好的结构能使“数据处理模块”具有更好的通用性哪?
举个例子,“GUI模块”中有struct a和struct b,分别对应两个表A和B的,我通过调用“数据处理模块”的方法,如functionSelect(A, a)和functionSelect(B, b)就能得到结构a和b的值。
请各位高手指点,如何能把模块做的更有通用性,期待中
解决方案
你好!
ADO.NET设计的目标之一就是解耦,你使用这个框架本身提供的类和方法就可以了。
你模块的接口通过通用的接口来提供,例如:System.Data.IDbConnection、IDataAdapter,System.Data.IDbCommand等。
另外,连接字符串写在配置文件中,可以让你的程序独立于特定的数据库
另外,你使用DbProviderFactory类甚至可以做到使你的程序独立于数据库提供程序,也就是可以适应多种数据库。
各种数据访问机制十分强大,你可以参考文档:
http://msdn.microsoft.com/zh-cn/library/e80y5yhx%28VS.80%29.aspx
用户评论