Csharp/C Sharp/Design Patterns/Adapter Pattern
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>