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(); }
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(); }
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(); }
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."); } }