一个简单的利用WCF+Ado.net实现数据操作的例子
近期正在学习WCF,随手画了一个利用WCF架构进行数据库操作的类图。,随便画的,不太符合UML的规则。贴在这里,大家一起学习!
先上图:
解释:
一、数据库部分:
1、数据库操作接口(IDataAccess)
这个接口定义所有的符合Ado.Net的标准操作。包括查询、执行存储过程
2、Oracle数据库操作类(OracleDataAccess)
当然,这里是也Oracle数据库为例,同时也可以多个数据库类并存。每个类都实现了数据库操作接口
3、数据库操作类(DataAccessor)
数据操作类。公开一个IDataAccess类型的属性,在实际应用中可利用发射调用不同的数据库类
4、数据库操作静态类(DataAccessPublic)
用一个静态类封装数据库操作类,实现一个系统只实例化一个对象。所有的数据操作都调用这个静态类
二、WCF
1、数据操作服务契约(IDataAccessContract)
定义数据库操作契约,所有数据库操作的规范
2、数据操作服务(DataAccessService)
实现数据库操作契约。并使用数据库操作静态类来完成所有数据库操作
3、WCF配置元素生成类(RemotingPublic)
生成所有服务或客户端信道代理所需的元素。如Endpoint、Bindding等等。
4、创建服务类(SOAPService<T>)
实现服务。这里采用泛型,因为还需要让其他服务使用
5、创建信道类(SOAPClient<T>)
创建信道代理。对应IDataAccessContract
6、客户端数据操作静态类(DataPublic)
所有的客户端数据操作都调用此静态类
欢迎各位牛人指点~~