亡羊补牢的方法---适配器模式

本文详细解释了适配器模式在数据库查询数据并转换为DataSet以供前端显示过程中的作用,包括模式定义、实现及其实现案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        我们在VS2010环境中,经常从数据库中查询数据并返回给DataSet,然后绑定前台显示。他们都知道它的原理吗?实际上在这个过程当中,数据做了一次转换。我们后天先不管你是Sqlserver、DB2、Oracle等数据库,它先将数据查询出来并返回到DataAdapter中,然后由DataAdapter转换成DataSet;所以,我们在前台操作的时候根本不用去关心是哪种数据库。这个地方DataAdapter就是中间转换器,这个地方就用到了我们的要讲的设计模式---适配器模式。

       什么是适配器模式?将一个类的接口转化成客户希望的另外一个接口,Adapter模式使得由于接口不兼容而不能一起工作的那些类可以一起工作。就是说,使用一个已经存在的类,但如果他的接口,它的方法和你要求的不相同的时候,就需要考虑用适配器模式;目的是为了方便统一的调用。(针对两类所做的事情相似,但在实际项目中难于修改的)。


 Target是用户期望调用的接口,可以是具体的类、抽象类或者接口:

class Target
{
	public virtual void Request()
	{
		Console.WriteLine("一般请求");
	}
}
需要适配的类(Adaptee):

class Adaptee
{
	public virtual void SpecificRequest()
	{
		Console.WriteLine("特殊请求");
	}
}

Adapter类里面存储一个需要装换的类对象,并在继承重写方法的时候转换成对应的方法进行调用:

class Adapter:Target
{
    //建立一个需要适配的类对象
    private Target a=new Adaptee();
	public virtual void Request()
	{
	    //转换成需要适配的类对象调用
		a.SpecificRequest();
	}
}
客户端代码:
static voi Main(String[] arg)
{
	Adapter adapter=new Adapter();
	adapter.Request();
}
      大家可能说这个模式和门面模式有点像,但是它们并一样。留给大家去思考?



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值