Adapter Pattern : Adapter Pattern « Design Patterns « C# / CSharp Tutorial






using System;


  public sealed class Translate
  {
    public string  UStoUK()
    {
      return "USD to GBP is...";              
    }

    public string  UStoCND()
    {
      return "USD to CND is...";
    }

    public Translate(){;}
  }
  public class Adapter
  {
    private Translate change;
        
  
    public string USD_GBP ()
    {
            return "Conversion " + this.change.UStoUK();
    }

    public string  USD_CND()
    {
            return "Conversion " + this.change.UStoCND();
    }

    public string  USD_AUD()
    {
      return "Conversion USD to AUD is...";
    }

    public string USD_JPY()
    {
      return "Conversion USD to JNY is...";
    }

    public Adapter()
    {
            change = new Translate();
    }
  }  
  public class MyRate
  {
    private Adapter adapt;
        
    public string MyRate_USD_GBP()
    {
           return this.adapt.USD_GBP();
    }

    public string MyRate_USD_CND()
    {
           return this.adapt.USD_CND();
    }
    public string MyRate_USD_AUD()
    {
           return this.adapt.USD_AUD();
    }
    public MyRate()
    {
           adapt = new Adapter();
    }
  }  
  public class Client
  {
    static void Main(string[] args)
    {
      MyRate afx = new MyRate();
      Console.WriteLine(afx.MyRate_USD_GBP());
      Console.WriteLine(afx.MyRate_USD_CND());
      Console.WriteLine(afx.MyRate_USD_AUD());
    }
  }








28.4.Adapter Pattern
28.4.1.Adapter Pattern