public static void Main()
Creator c = new Creator( );
for (int i=1; i<=12; i++) {
product = c.FactoryMethod(i);
Console.WriteLine("Avocados "+product.ShipFrom( ));
class ProductA : IProduct {
public String ShipFrom ( ) {
return " from South Africa";
class ProductB : IProduct {
public String ShipFrom ( ) {
class DefaultProduct : IProduct {
public String ShipFrom ( ) {
public IProduct FactoryMethod(int month) {
if (month >= 4 & month <=11)
if (month == 1 || month == 2 || month == 12)
else return new DefaultProduct( );