namespace DesignPatterns.Factory { public class Currency : ICurrency { #region Constructors private Currency( string name ) { _name = name; } #endregion #region Public Properties public string Name { get { return _name; } } public static readonly ICurrency Canadian = new Currency( "CAD" ); public static readonly ICurrency American = new Currency( "USD" ); public static readonly ICurrency GreatBritain = new Currency( "GBP" ); public static readonly ICurrency EuropeanUnion = new Currency( "EUR" ); #endregion #region Public Methods public override string ToString( ) { return _name; } #endregion #region Private Fields private readonly string _name; #endregion } }