Csharp/CSharp Tutorial/Design Patterns/Adapter Pattern

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

Adapter Pattern

<source lang="csharp">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());
   }
 }</source>