一、接口类
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()); } }
在原电源和目标电源都很难发生改变的时候,所以就是用一个适配者类来适用原来的接口再去调用目标电源。