假设问题:安卓和苹果充电线标准不一样,只有一根线时,怎么充不同型号设备
解决:class="superseo">适配器模式
代码实现:
IOS数据线
namespace Adapter
{
public class IOSLine
{
public void IOSCharge()
{
Debug.Log("借助IOS充电充电中");
}
}
}
Android数据线
namespace Adapter
{
public class AndroidLine
{
public void AndroidCharge()
{
Debug.Log("借助Android充电充电中");
}
}
}
适配器
namespace Adapter
{
public enum AdaptorType
{
None,
Android,
IOS,
}
public interface IAdaptor
{
///
/// 统一调用接口
///
///
void Charge(AdaptorType adaptorType);
}
public class Adaptor : IAdaptor
{
/*
* 接口用于拓展原始类不足的功能
*/
AndroidLine androidLine = new AndroidLine();
IOSLine iosLine = new IOSLine();
public void Charge(AdaptorType adaptorType)
{
if (adaptorType == AdaptorType.Android)
androidLine.AndroidCharge();
else if (adaptorType == AdaptorType.IOS)
iosLine.IOSCharge();
}
}
}
利用适配器调用不同的接口
namespace Adapter
{
public class AdapterMain : MonoBehaviour
{
void Start()
{
IAdaptor adaptor = new Adaptor();
adaptor.Charge(AdaptorType.Android);
adaptor.Charge(AdaptorType.IOS);
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)