static void Main(string[] args)
        {
            var factory = new CarFactory() as ICarFactory;
            var carList = new List <Car>
            {
                factory.GetCar(CarMaker.Bugatti),
                factory.GetCar(CarMaker.Ferrari),
                factory.GetCar(CarMaker.Honda),
                factory.GetCar(CarMaker.Toyota),
            };

            Console.WriteLine("List of cars by manufacturers:");
            foreach (var car in carList)
            {
                Console.WriteLine("{0} Car Models:", car.Maker);
                Console.WriteLine("--------------------------");
                foreach (var carModel in car.ModelList)
                {
                    Console.WriteLine(carModel);
                }

                Console.WriteLine();
            }

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            CarFactory carFactory = new CarFactory();
            ICar       nano       = carFactory.GetCar("nano");
            string     carName1   = nano.GetSpecifications();

            I10Car i10      = (I10Car)carFactory.GetCar("i10");
            string carName2 = i10.GetSpecifications();

            Console.Read();
        }