Csharp/C Sharp/Design Patterns/Adapter Pattern

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

Adapter Pattern Demo

<source lang="csharp"> using System; public sealed class ForeignExchange {

   public string UStoUK() {
       return "USD to GBP is...";
   }
   public string UStoCAN() {
       return "USD to CND is...";
   }
   public ForeignExchange() { ;}

} public class AdapterWrapper {

   private Adapter adapt;
   public string AdapterWrapper_USD_GBP() {
       return this.adapt.USD_GBP();
   }
   public string AdapterWrapper_USD_CND() {
       return this.adapt.USD_CND();
   }
   public string AdapterWrapper_USD_AUD() {
       return this.adapt.USD_AUD();
   }
   public AdapterWrapper() {
       adapt = new Adapter();
   }

}

public class Adapter {

   private ForeignExchange sourceCode;
   public string USD_GBP() {
       return "Conversion " + this.sourceCode.UStoUK();
   }
   public string USD_CND() {
       return "Conversion " + this.sourceCode.UStoCAN();
   }
   public string USD_AUD() {
       return "Conversion USD to AUD is...";
   }
   public string USD_JPY() {
       return "Conversion USD to JNY is...";
   }
   public Adapter() {
       sourceCode = new ForeignExchange();
   }

} public class Client {

   static void Main(string[] args) {
       AdapterWrapper afx = new AdapterWrapper();
       Console.WriteLine(afx.AdapterWrapper_USD_GBP());
       Console.WriteLine(afx.AdapterWrapper_USD_CND());
       Console.WriteLine(afx.AdapterWrapper_USD_AUD());
   }

}

</source>