Mega Code Archive

 
Categories / C# / Design Patterns
 

Adapter Pattern Demo

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