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