把已经实现类的接口转化为客户端可以接受的接口,解决不同类的接口兼容问题。
1.你想使用一个已经存在的类,但是他的接口不符合你的要求
2.你想创建一个可以复用的类。
使得一个类或者多个类的接口看起来像一个特定类的接口。
1.Target:客户端所需要的业务逻辑的接口
public interface Target
{
void Request();
}
2.Adaptee:对已经存在的类,定义接口(”窄接口“)。
public class Adaptee
{
public void SpecificRequest()
{
return;
}
}
3.Adapter:把Adaptee的接口转化为Target的接口。也叫Wapper.
public class Adapter : Target
{
private Adaptee adaptee = new Adaptee();
public void Request()
{
adaptee.SpecificRequest();
}
}
客户端调用:
Target target = new Adapter();
target.Request();