适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中
Target类(这是客户所期待的接口。目标可以是具体或抽象的类,也可以是接口)
public class Target
{
public virtual void Request()
{
Debug.Log ("普通请求");
}
}
Adaptee(需要配置的类)
public class Adaptee
{
public void SpecificRequest()
{
Debug.Log ("特殊请求");
}
}
Adapter(通过在内部包装一个Adaptee对象,把源接口转换成目标接口)
public class Adapter:Target
{
private Adaptee adaptee = new Adaptee ();
public override void Request ()
{
adaptee.SpecificRequest ();
}
}
最后是客户端代码
public class Client:MonoBehaviour
{
void Start()
{
Target target = new Adapter ();
target.Request ();
}
}
感谢《大话设计模式》一书中的示例代码