Пример #1
0
        public static void Main()
        {
            var raceRepo       = new RaceRepository();
            var riderRepo      = new RiderRepository();
            var motorcycleRepo = new MotorcycleRepository();

            var raceFactory       = new RaceFactory();
            var riderFactory      = new RiderFactory();
            var motorcycleFactory = new MotorcycleFactory();

            var championshipController = new ChampionshipController(
                raceRepo,
                riderRepo,
                motorcycleRepo,
                raceFactory,
                riderFactory,
                motorcycleFactory);

            var consoleReader = new ConsoleReader();
            var consoleWriter = new ConsoleWriter();

            var engine = new Engine(
                championshipController,
                consoleReader,
                consoleWriter);

            engine.Run();
        }
Пример #2
0
        public static void Main(string[] args)
        {
            //TODO Add IEngine
            //Motorcycle varche = new PowerMotorcycle("12214235", 75);
            //Console.WriteLine(varche.HorsePower);
            IMotorcycleFactory motorcycleFactory = new MotorcycleFactory();
            IRaceFactory       raceFactory       = new RaceFactory();
            IRiderFactory      riderFactory      = new RiderFactory();

            MotorcycleRepository motorcycleRepository = new MotorcycleRepository();
            RaceRepository       raceRepository       = new RaceRepository();
            RiderRepository      riderRepository      = new RiderRepository();

            IChampionshipController controller = new ChampionshipController(
                motorcycleFactory,
                raceFactory,
                riderFactory,
                motorcycleRepository,
                raceRepository,
                riderRepository);

            IReader reader = new ConsoleReader();
            IWriter writer = new ConsoleWriter();

            IEngine engine = new Engine(reader, writer, controller);

            engine.Run();
        }
Пример #3
0
        public static void Main(string[] args)
        {
            IReader reader = new ConsoleReader();
            IWriter writer = new ConsoleWriter();

            IRepository <IMotorcycle> motorcycleRepository = new MotorcycleRepository();
            IRepository <IRace>       raceRepository       = new RaceRepository();
            IRepository <IRider>      riderRepository      = new RiderRepository();

            MotorcycleFactory motorcycleFactory = new MotorcycleFactory();

            // Judge system does not require dependency inversion principle to be observed!
            // Also Factories and CommandInterpreter are not required!

            IChampionshipController championshipController = new ChampionshipController(
                motorcycleRepository,
                raceRepository,
                riderRepository,
                motorcycleFactory);

            ICommandInterpreter commandInterpreter = new CommandInterpreter(championshipController);

            IEngine engine = new Engine(commandInterpreter, reader, writer);

            engine.Run();
        }
Пример #4
0
        static void Main(string[] args)
        {
            VehicleFactory <Car>        carFactory = new CarFactory();
            VehicleFactory <Motorcycle> mcFactory  = new MotorcycleFactory();

            var cars = new List <Car>
            {
                carFactory.GetVehicle(nameof(Mazda)),
                carFactory.GetVehicle(nameof(Passat)),
                carFactory.GetVehicle(nameof(Toledo))
            };

            var motocycles = new List <Motorcycle>
            {
                mcFactory.GetVehicle(nameof(Yamaha)),
                mcFactory.GetVehicle(nameof(Honda)),
                mcFactory.GetVehicle(nameof(Ducati))
            };

            foreach (var car in cars)
            {
                Console.WriteLine($"{car.Name} has {car.HorsePowers} HP.");
            }

            foreach (var mc in motocycles)
            {
                Console.WriteLine($"{mc.Name} has {mc.HorsePowers} HP.");
            }
        }