public static void Main()
IAnimals dogObject = AnimalFactory.ChooseAnimal("Dog");
Console.WriteLine(dogObject.GetNumberOfLegs());
IAnimals birdObject = AnimalFactory.ChooseAnimal("Bird");
Console.WriteLine(birdObject.GetNumberOfLegs());
IAnimals invalidAnimalObject = AnimalFactory.ChooseAnimal("Plane");
Console.WriteLine(invalidAnimalObject.GetNumberOfLegs());
public static class AnimalFactory
private static IAnimals theAnimal;
public static IAnimals ChooseAnimal(string animal)
theAnimal = new InvalidAnimal();
public interface IAnimals
string GetNumberOfLegs();
public class InvalidAnimal : IAnimals
public string GetNumberOfLegs()
return "Specified Animal does not exist or not available";
public class Dog : IAnimals
public string GetNumberOfLegs()
public class Bird : IAnimals
public string GetNumberOfLegs()
return "Bird has 2 legs";