//Real-world public static void AbstractFactoryRealWorld() { // Create and run the African animal world ContinentFactory africa = new AfricaFactory(); Log.WriteLine("{0} has Created", africa.GetType().Name); var world = new AnimalWorld(africa); Log.WriteLine("{0} has Created", world.GetType().Name); Log.WriteLine("Animal World Create Herbivore and Carnivore"); Log.WriteLine("Animal World Run Food Chain"); world.RunFoodChain(); Log.AddSeparator(5); // Create and run the American animal world ContinentFactory america = new AmericaFactory(); Log.WriteLine("{0} has Created", america.GetType().Name); world = new AnimalWorld(america); Log.WriteLine("{0} has Created", world.GetType().Name); Log.WriteLine("Animal World Create Herbivore and Carnivore"); Log.WriteLine("Animal World Run Food Chain"); world.RunFoodChain(); }