例子:
网购支付:(工商支付,建设支付2种)很显然这是两个不同的开发商做的开发,故提供的接口方法不一致,也理所当然。
共性:获取支付账号,支付欠款,返回处理信息。
不同:提供接口,方法名不同;
工商返回处理信息接口方法名:GsPay()
建行返回处理信息接口方法名:JsPay()
为啦开发使用一个公共的类对这些接口进行处理:整理一个公共常用的类,方便开发调用与简洁。
工商建设接口代码:
//工商银行
public class Icbc
{
//工商银行提供的接口方法
public void GsPay()
{
Console.WriteLine("我是工商银行,你要用我!存钱?");
}
}
//建设银行
public class Ccb
{
//建设银行提供的接口方法
publicvoid JsPay()
{
Console.WriteLine("我是建设银行,你要用我!取钱?");
}
}
适配器插销转换代码:
//插线板
public interface Ipay
{
void Pay();
}
//针对工商银行的插销
public class IcbcApter :Icbc, Ipay
{
public void Pay()
{
base.GsPay();
}
}
//针对建设银行的插销
public class CcbApter : Ccb, Ipay
{
public void Pay()
{
base.JsPay();
}
}
客户端调用:
public static void Main()
{
//工商
Ipay ipay = new IcbcApter();
ipay.Pay();
//建设
Ipay cpay = new CcbApter();
cpay.Pay();
Console.ReadLine();
}
总结适配器模式
适配器模式,就像一个插座一样,把不同类的电器插销都能通过他的转接,正常的运行起来。再比如变压器,让不同的电压转换为统一可用的电压。
有上程序克制,同过适配器的一个转换我们的编程,就变的简单,简洁啦许多,而不用各个攻破所有的银行接口,只需攻读这个适配器即可。由此,适配器模式还是常用,好用的一种模式之一。