static void Main(string[] args) { IFactory factory = new AudiFactory(); Console.WriteLine(factory.CreateAuto()); factory = new BenzFactory(); Console.WriteLine(factory.CreateAuto()); Console.ReadKey(); }
public static void CarFactoryExample() { var bmwFactory = new BMWFactory(); PrintCarCharacteristics(bmwFactory); var audiFactory = new AudiFactory(); PrintCarCharacteristics(audiFactory); }
static void Main(string[] args) { var factory = new FerrariFactory(); var car = factory.CreateCar(); var audiFactory = new AudiFactory(); var secondCar = audiFactory.CreateCar(); Console.WriteLine("Car Name: {0}", car.ShowName()); Console.WriteLine("Car Name: {0}", secondCar.ShowName()); Console.ReadKey(); }
private static void Main(string[] args) { var fordCar = new FordFactory(); var c1 = new Client(fordCar); Console.WriteLine("Max speed {0} is {1} km/hour", c1.Car.Name, c1.RunMaxSpeed()); var audiCar = new AudiFactory(); var c2 = new Client(audiCar); Console.WriteLine("Max speed {0} is {1} km/hour {2}", c2.Car.Name, c2.RunMaxSpeed(), c2.Car.GetBodyType(c2.Body)); }
public void An_AudiFactory_Should_Return_An_Audi_Instance() { //Arrange AutoFactory autoFactory = new AudiFactory(); //Act var expectedInstance = autoFactory.CreateAutoMobile(); var expectedType = typeof(Audi).FullName; var instanceType = expectedInstance.GetType().FullName; //Assert Assert.Equal(expectedType, instanceType); }
static void Main(string[] args) { // Абстрактная фабрика № 1 CarFactory bmw_car = new BMWFactory(); var c1 = new Client(bmw_car); c1.Run(); // Абстрактная фабрика № 2 CarFactory audi_factory = new AudiFactory(); var c2 = new Client(audi_factory); c2.Run(); Console.Read(); }
static void Main(string[] args) { CarFactory ford_car = new FordFactory(); Client c1 = new Client(ford_car); Console.WriteLine("Максимальная скорость {0} составляет {1} км/час", c1.ToString(), c1.RunMaxSpeed()); CarFactory audi_car = new AudiFactory(); Client c2 = new Client(audi_car); Console.WriteLine("Максимальная скорость {0} составляет {1} км/час", c2.ToString(), c2.RunMaxSpeed()); Console.ReadKey(); }
static void Main(string[] args) { //All classes, BMW, VW and Audi, implement the same interface. But they each need their own //specific construction,and we are using factories to centralize the logic of that construction. CarFactory bmwCarFactory = new BMWFactory(); ICar bmw = bmwCarFactory.Order; // Go and have some fun with your BMW bmw.TurnOn(); bmw.TurnOff(); CarFactory audiCarFactory = new AudiFactory(); ICar audi = audiCarFactory.Order; // Go and have some fun with your Audi audi.TurnOn(); audi.TurnOff(); }
public void Start() { // Abstract factory #1 AbstractFactory factory1 = new BmwFactory(); System.Console.Write($"{factory1.GetType().Name} uses: "); Client client1 = new Client(factory1); client1.Run(); // Abstract factory #2 AbstractFactory factory2 = new AudiFactory(); System.Console.Write($"{factory2.GetType().Name} uses: "); Client client2 = new Client(factory2); client2.Run(); }
private static void Case1() { IAutomobile mobile; TeslaFactory tesla = TeslaFactory.GetInstance(); mobile = tesla.Make(); mobile.Start(); mobile.Stop(); BmwFactory bmw = BmwFactory.GetInstance(); mobile = bmw.Make(); mobile.Start(); mobile.Stop(); AudiFactory audi = AudiFactory.GetInstance(); mobile = audi.Make(); mobile.Start(); mobile.Stop(); }
public static void AbstractFactory() { // Language agnostic version CarFactory audiFactory = new AudiFactory(); var driver1 = new Driver(audiFactory); driver1.CompareSpeed(); ; CarFactory mercedesFactory = new MercedesFactory(); var driver2 = new Driver(mercedesFactory); driver2.CompareSpeed(); // C# specific version using generics var factory = new GenericFactory <MercedesSportsCar>(); MercedesSportsCar mercedesSportsCar = factory.CreateObject(); Console.WriteLine(mercedesSportsCar.GetType().ToString()); Console.ReadKey(); }
static void Main(string[] args) { // Simple Factory Console.WriteLine("Simple Factory"); Console.WriteLine(); CarFactory simpleFactory = new CarFactory(); ICar simpleCar = simpleFactory.GetCar("bmw"); Console.WriteLine("Setting car model in client."); simpleCar.SetModel("i8"); Console.Read(); // Factory Method Console.WriteLine("Factory Method"); Console.WriteLine(); ICarFactory factoryMethodBMW = new BMWFactory(); factoryMethodBMW.GetCar(); ICarFactory factoryMethodAudi = new AudiFactory(); Console.WriteLine("Setting Audi model in client."); simpleCar.SetModel("TT"); Console.Read(); }
private static void TestDriveAudiCars() { ICarFactory carFactory = new AudiFactory(); TestDrive(carFactory); }
static void Main(string[] args) { // AUDI CarFactory carFactory = new AudiFactory(); Console.WriteLine(); var audiCoupe = carFactory.CreateCoupe(); audiCoupe.GetName(); audiCoupe.GetMaxSpeed(); Console.WriteLine(); var audiLimousine = carFactory.CreateLimousine(); audiLimousine.GetName(); audiLimousine.HasAirCon(); Console.WriteLine(); var audiSuw = carFactory.CreateSuW(); audiSuw.GetName(); audiSuw.SetWheelSize(); // BMW carFactory = new BmwFactory(); Console.WriteLine(); var bmwCoupe = carFactory.CreateCoupe(); bmwCoupe.GetName(); bmwCoupe.GetMaxSpeed(); Console.WriteLine(); var bmwLimousine = carFactory.CreateLimousine(); bmwLimousine.GetName(); bmwLimousine.HasAirCon(); Console.WriteLine(); var bmwSuw = carFactory.CreateSuW(); bmwSuw.GetName(); bmwSuw.SetWheelSize(); Console.WriteLine(); // HONDA ICarFactory hondaFactory = new HondaFactory(); Console.WriteLine(); var hondaCoupe = hondaFactory.CreateCoupe(); hondaCoupe.GetName(); hondaCoupe.GetMaxSpeed(); Console.WriteLine(); var hondaLimousine = hondaFactory.CreateLimousine(); hondaLimousine.GetName(); hondaLimousine.HasAirCon(); Console.WriteLine(); var hondaSuw = hondaFactory.CreateSuW(); hondaSuw.GetName(); hondaSuw.SetWheelSize(); Console.WriteLine(); Console.ReadKey(); }