Csharp/CSharp Tutorial/Design Patterns/Adapter Pattern — различия между версиями

Материал из .Net Framework эксперт
Перейти к: навигация, поиск
м (1 версия)
 
(нет различий)

Текущая версия на 12:17, 26 мая 2010

Adapter Pattern

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());
    }
  }