zoukankan      html  css  js  c++  java
  • C#设计模式--适配器模式(结构型模式)

    一.适配器模式介绍: 

       适配器模式:将一个类的接口,转换成客户希望的另外一个接口。adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作

    例子分析(充电器充电):

      模式中的角色:

      • 安卓充电器:刚开始设计时,只能android手机充电。随着苹果手机的使用,需要提供能够给苹果手机充电
      • 苹果充电接口:对此设计出了能够给苹果手机充电的接口,这时就需要一个中间的转换器进行适配。
      • 适配器:安卓充电器和苹果充电接口都连接到这个适配器中进行适配。就可以进行给苹果手机充电了

    UML类图:

    二.适配器模式实现:

      • android充电器类(AndroidCharger):用于给android手机充电
    public class AndroidCharger
    {
        public virtual void Charge()
        {
            Console.WriteLine("android手机充电中...");
        }
    }
    android充电类
      • 苹果充电类(IOSCharger):用于给苹果手机充电
    public class IOSCharger
    {
        public void QuickCharge()
        {
            Console.WriteLine("苹果手机充电中...");
        }
    }
    苹果充电类
      • 将两个充电器类进行适配
    public class Adapter : AndroidCharger
    {
        IOSCharger ios = new IOSCharger();
        public override void Charge()
        {
            ios.QuickCharge();
        }
    }
    适配器类

    三.适配器模式调用测试:

    static void Main(string[] args)
    {
        AndroidCharger c = new Adapter();
        c.Charge();
        Console.ReadKey();
    }

      输出信息:

      • 苹果手机充电中...
  • 相关阅读:
    pythone 请求响应字典
    python strip()
    python,datetime
    How Flask Routing Works
    python __file__ 与argv[0]
    Python的zip函数
    Python中的__new__()方法与实例化
    python,dict的setdefault方法
    python yield
    python with用法
  • 原文地址:https://www.cnblogs.com/fengxuehuanlin/p/6537401.html
Copyright © 2011-2022 走看看