WisDom.Net 框架设计(八) 持久层

WisDom.Net ---持久层 

1.什么是持久层 

      持久层负责最基础的功能支撑,为项目提供一个高层,统一,和并发的数据持久机制,提供了比如建立数据库连接,关闭数据库连接,执行sql语句,事物管理等基础功能,为上层的数据处理层执行相关的支持,大大的简化了数据,增删改查等功能的相关的功能的开发过程,同时也保持了多层结构的优势,在WisDom.Net 中考虑支持的数据库有mysql ,sqlsever ,orcale 等不同的数据库,在这里我们使用.NET 4.0 中逆变与协边来来实现,相关的功能、

2.什么是协变,协边

    协变逆变正是利用继承关系不同参数类型或返回值类型 的委托或者泛型接口之间做转变。我承认这句话很绕,如果你也觉得绕不妨往下看看。如果一个方法要接受Dog参数,那么另一个接受Animal参数的方法肯定也可以接受这个方法的参数,这是Animal向Dog方向的转变是逆变。如果一个方法要求的返回值是Animal,那么返回Dog的方法肯定是可以满足其返回值要求的,这是Dog向Animal方向的转变是协变。由子类向父类方向转变是协变 协变用于返回值类型用out关键字 由父类向子类方向转变是逆变 逆变用于方法的参数类型用in关键字

3.WisDom.Net 中的实现

 

 给出一点点参考代码,

     

namespace WisDom.Net.PublicUnit
{
    public class BaseDb<DbConn, DbCmd, DbParam, DbReader, DbAdapter, DbTrans>
        where DbConn : DbConnection, new()
        where DbCmd : DbCommand, new()
        where DbParam : DbParameter, new()
        where DbReader : DbDataReader
        where DbAdapter : DbDataAdapter, new()
        where DbTrans : DbTransaction
    {
        // code
    }

    public class SqlSever:BaseDb<SqlConnection,SqlCommand,SqlParameter,SqlDataReader,SqlDataAdapter,SqlTransaction>
    {

    }

     public class ole:BaseDb<OleDbConnection, OleDbCommand, OleDbParameter, OleDbDataReader, OleDbDataAdapter, OleDbTransaction>
    {

    }

     public class Mysql : BaseDb<MySqlConnection, MySqlCommand, MySqlParameter, MySqlDataReader, MySqlDataAdapter, MySqlTransaction>
     {

     }

}

 

 

转载于:https://www.cnblogs.com/crystal189/p/3758746.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值