public void Main() { Director director = new Director(); Console.WriteLine("CarBuilder"); CarBuilder carBuilder = new CarBuilder(); Car car = new Car(); director.makeSportsCar(carBuilder); car = carBuilder.getResult(); foreach (string cPart in car.lstCarBuilder) { Console.WriteLine(cPart); } Console.WriteLine(""); Console.WriteLine("CarManualBuilder"); CarManualBuilder carManualBuilder = new CarManualBuilder(); director.makeSUV(carManualBuilder); Manual manual = carManualBuilder.getResult(); foreach (string cPart in manual.lstCarManualBuilder) { Console.WriteLine(cPart); } Console.ReadLine(); }
private void CrearManualAutoDeportivo() { director = new Director(); CarManualBuilder carManual = new CarManualBuilder(); director.MakeSport(carManual); var manualCreado = carManual.ObtenerResultado(); Console.WriteLine(manualCreado.ObtenerPartes()); }
static void Main(string[] args) { Director director = new Director(); CarManualBuilder builder = new CarManualBuilder(); director.MakeSportsCars(builder); Manual manual = builder.getResults(); foreach (var item in manual.ListaPasos) { Console.WriteLine(item); } Console.ReadLine(); }
/// <summary> /// The client code creates a builder object, passes it to the /// director and then initiates the construction process. The end /// result is retrieved from the builder object. /// </summary> /// <param name="args"></param> static void Main(string[] args) { var director = new Director(); var carBuilder = new CarBuilder(); director.SetBuilder(carBuilder); director.ConstructSportsCar(); //director.ConstructSUV(); // The final product is often retrieved from a builder // object since the director isn't aware of and not // dependent on concrete builders and products. var car = carBuilder.Build(); Console.WriteLine("Constructed car with:"); Console.WriteLine($"Number of seats => {car.NumberOfSeats}"); Console.WriteLine($"Number of doors => {car.NumberOfDoors}"); Console.WriteLine($"Engine type => {car.EngineType}"); Console.WriteLine($"Has trip computer => {car.HasTripComputer}"); Console.WriteLine($"Has GPS => {car.HasGPS}"); Console.WriteLine($"Has voice recognition => {car.HasVoiceRecognition}"); var carManualBuilder = new CarManualBuilder(); director.SetBuilder(carManualBuilder); director.ConstructSportsCar(); //director.ConstructSUV(); var manual = carManualBuilder.Build(); Console.WriteLine("Constructed manual with:"); Console.WriteLine($"Seats instructions => {manual.SeatsInstructions}"); Console.WriteLine($"Doors instructions => {manual.DoorsInstructions}"); Console.WriteLine($"Engine type instructions => {manual.EngineInstructions}"); Console.WriteLine($"Trip computer instructions => {manual.TripComputerInstructions ?? "No instructions."}"); Console.WriteLine($"GPS instructions => {manual.GPSInstructions ?? "No instructions."}"); Console.WriteLine($"Voice recognition instructions => {manual.VoiceRecognitionInstructions ?? "No instructions."}"); Console.ReadLine(); }
public static void Main() { Director director = new Director(); // EN: Director gets the concrete builder object from the client // (application code). That's because application knows better which // builder to use to get a specific product. // // RU: Директор получает объект конкретного строителя от клиента // (приложения). Приложение само знает какой строитель использовать, // чтобы получить нужный продукт. CarBuilder builder = new CarBuilder(); director.ConstructSportsCar(builder); // EN: The final product is often retrieved from a builder object, // since Director is not aware and not dependent on concrete // builders and products. // // RU: Готовый продукт возвращает строитель, так как Директор чаще // всего не знает и не зависит от конкретных классов строителей // и продуктов. Car car = builder.GetResult(); Console.WriteLine("Car built:\n" + car.GetType()); CarManualBuilder manualBuilder = new CarManualBuilder(); // EN: Director may know several building recipes. // // RU: Директор может знать больше одного рецепта строительства. director.ConstructSuv(manualBuilder); Manual carManual = manualBuilder.getResult(); Console.WriteLine("\nCar manual built:\n" + carManual.Print()); Console.ReadKey(); }