适配器模式:把一个类的接口变成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。适配器模式有类的适配器模式和对象的适配器模式两种形式
执行结果:
上菜:
static void Main(string[] args)
{
//现在客户端可以通过电源适配器适配要使用的2个孔的插头了。
IThreeHole threehole = new PowerAdapter(); //三孔的
threehole.Request();
Console.ReadLine();
TwoHole twohole = new PowerAdapter(); //两孔的
twohole.SpecificRequest();
Console.ReadLine();
}
}
/// <summary>
/// 三个孔的插头,也就是适配器模式中的目标角色
/// </summary>
public interface IThreeHole
{
void Request();
}
/// <summary>
/// 适配器类,接口要放在类的后面
/// 适配器类提供三个孔插头的行为,但本质是调用两个孔插头的方法
/// </summary>
public abstract class TwoHole
{
public void SpecificRequest()
{
Console.WriteLine("我是两孔的插头");
}
}
/// <summary>
/// 适配器类,接口要放在类的后面
/// 适配器类提供三个孔插头的行为,但其本质是调用两个孔插头的方法
/// </summary>
public class PowerAdapter : TwoHole,IThreeHole
{
/// <summary>
/// 实现两个孔插头的方法
/// </summary>
public void Request()
{
//调用两个孔插头的方法
this.SpecificRequest();
}
}
}