C#学习笔记——适配器模式及其实现

C#学习笔记——适配器模式及其实现,第1张

假设问题:安卓和苹果充电线标准不一样,只有一根线时,怎么充不同型号设备
解决: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);
        }
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/996546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存