C#设计模式--适配器模式

0.C#设计模式--简单工厂模式

1.C#设计模式--工厂方法模式

2.C#设计模式--抽象工厂模式

3.C#设计模式--单例模式

4.C#设计模式--建造者模式

5.C#设计模式--原型模式

设计模式:

适配器模式(Adapter Pattern)

简单介绍:

适配器模式(Adapter Pattern)将一个类的接口转换成客户希望的另外一个接口,比如说用户希望将普通家用的220V电压转换成5V给手机充电,那么就需要一个转换设备,手机充电头和充电线,就是这个道理!似乎笔记本电脑的电源线就叫电源适配器,这里的适配器大概就是这个思想

原型模式参与者:

目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。

需要适配的类(Adaptee):需要适配的类或适配者类。

适配器(Adapter):通过包装一个需要适配的对象,将Target这个用户期待的接口转换成用户需要的Adaptee

适配器模式类图:

适配器模式c#代码示例:

Target 目标类

    /// <summary>
    /// 目标类
    /// </summary>
    public class Target
    {
        public virtual void TargetPrint()
        {
            Console.WriteLine("My name is Target!");
        }
    }

Adaptee类 受改造的类

    /// <summary>
    /// 受改造的类
    /// </summary>
    public class Adaptee
    {
        public void AdapteePrint()
        {
            Console.WriteLine("My name is Adaptee.");
        }
    }

Adapter 适配器类

    /// <summary>
    /// 适配器
    /// </summary>
    public class Adapter : Target
    {
        private Adaptee adaptee = new Adaptee();
        public override void TargetPrint()
        {
            adaptee.AdapteePrint();
        }
    }

用户测试类

    class Client
    {
        static void Main(string[] args)
        {
            Target target = new Adapter();
            target.TargetPrint();
            Console.Read();
        }
    }

运行结果:

适配器模式C#源码工程文件下载

适配器模式实际生活举例

举例说明:

假设将普通用户的标准电压220V转换成手机充电的标准电压5V(这里仅仅是举例子,如果有不恰当,还望多多包涵)

目标接口(Target):普通用户标准电压类--->UserStandardVoltage.cs

需要适配的类(Adaptee):手机用户充电电压类-->MobileChargingVoltage.cs

适配器(Adapter):适配器类-->PowerAdapter.cs

类图参考

适配器模式成C#代码生活例子举例说明:

serStandardVoltage类 普通用户家用标准电压220V

    /// <summary>
    /// 用户标准电压
    /// </summary>
    public class UserStandardVoltage
    {
        public virtual void printVoltage()
        {
            Console.WriteLine("我是用户标准电压220V!");
        }
    }

MobileChargingVoltage普通用户手机充电标准电压5V

    /// <summary>
    /// 用户手机充电标准电压
    /// </summary>
    public class MobileChargingVoltage
    {
        public void printVoltage()
        {
            Console.WriteLine("我是手机标准充电电压5V");
        }
    }

PowerAdapter电源适配器类 将用户标准电压220V转换为手机充电标准电压5V

    /// <summary>
    /// 电源适配器类
    /// </summary>
    public class PowerAdapter:UserStandardVoltage
    {
        private MobileChargingVoltage mobileChargingVoltage = new MobileChargingVoltage();
        public override void printVoltage()
        {
            mobileChargingVoltage.printVoltage();
        }
    }

用户测试类:用户使用使用居民标准电压220V的接口,利用适配器既可以得到5V电压标准的接口

    class Client
    {
        static void Main(string[] args)
        {
            UserStandardVoltage userStandardVoltage = new PowerAdapter();
            userStandardVoltage.printVoltage();
            Console.Read();
        }
    }

运行结果

 

适配器模式C#源码工程文件下载手机电源适配器实例

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值