适配器模式实例

一、接口类

public interface IDianYuan {

    string GiveDian();
}

二、原电源类,需要更改

public class AllDianYuan : IDianYuan
{
    public string GiveDian()
    {
        return "220V";
    }
}

三、目标电源,需要更换上面的为这个

public class TargetDianYuan {

    //接口不一样
    public string GiveDianYuan() {
        return "5V";
    }
}

四、适配者类

public class AdaptDianYuan : IDianYuan
{
    private TargetDianYuan targetDianYuan = new TargetDianYuan();

    public string GiveDian()
    {
        return targetDianYuan.GiveDianYuan();
    }
}

五、适配者使用

using UnityEngine;

public class testAdapt : MonoBehaviour {
    
	void Start () {
        IDianYuan allDianYuan = new AllDianYuan();
        Debug.Log(allDianYuan.GiveDian());
        Debug.Log("要换 TargetDianYuan,但是接口不同");

        //使用适配电源转换一下
        allDianYuan = new AdaptDianYuan();
        Debug.Log(allDianYuan .GiveDian());
	}
}

在原电源和目标电源都很难发生改变的时候,所以就是用一个适配者类来适用原来的接口再去调用目标电源。


首页 我的博客
粤ICP备17103704号