public static void Main()
PepperoniPizzaFactory yum = new PepperoniPizzaFactory();
BaconPizzaFactory extraYum = new BaconPizzaFactory();
MakePizzaHelper(extraYum);
public static void MakePizzaHelper(PizzaFactory pizza)
public class PizzaFactory
public virtual void MakePizza()
Console.WriteLine("Making pizza base");
public class PepperoniPizzaFactory : PizzaFactory
public override void MakePizza()
Console.WriteLine("Adding pepperoni\n\n");
public class BaconPizzaFactory : PizzaFactory
public new void MakePizza()
Console.WriteLine("Adding bacon\n\n");