【Unity与23种设计模式】适配器模式(Adapter)

GoF中定义:

“将一个类的接口转换成为客户端期待的类接口。适配器模式让原本接口不兼容的类能一起合作。”

适配器模式与装饰模式有一定的相似之处

两者都是在着手解决C#不能多继承的问题

当出现一个不符合客户端接口的情况时

再不想破坏接口的前提下

就必须设计一个适配器来进行转换

将原本不符合的接口,转换到客户端预期的接口上

public abstract class Target {
    public abstract void Request();
}
public class Adaptee {
    public Adaptee() { }

    public void SpecificRequest() {
        Debug.Log("调用了Adaptee.SpecificRequest");
    }
}

public class Adapter : Target {
    private Adaptee m_Adaptee = new Adaptee();

    public Adapter() { }

    public override void Request() {
        m_Adaptee.SpecificRequest();
    }
}
//测试类
public class TestAdapter{
    void UnitTest() {
        Target theTarget = new Adapter();
        theTarget.Request();
    }
}

其实就是在不能多继承的情况下

一种采取继承方式

其他的持有引用

然后在重新组合

文章整理自书籍《设计模式与游戏完美开发》 菜升达 著

原文地址:https://www.cnblogs.com/fws94/p/7478935.html