public static void BuilderPaternInit() { Console.WriteLine("=====================Builder Patern======================="); Computer computerForOffice; Computer computerForFun; ComputerDirector director = new ComputerDirector(); ComputerBuilder cheapComputerBuilder = new CheapComputer(); ComputerBuilder expensiveComputerBuilder = new AbsurdComputer(); director.setBuilder(cheapComputerBuilder); director.buildComputer(); computerForOffice = director.GetComputer(); Console.WriteLine("\nFirst Computer:"); computerForOffice.printComuter(); director.setBuilder(expensiveComputerBuilder); director.buildComputer(); computerForFun = director.GetComputer(); Console.WriteLine("\nSecond Computer:"); computerForFun.printComuter(); Console.WriteLine("==========================================================" + "\n"); }
protected override void PerfomAction() { var builder = new HighEndComputerBuilder(); var director = new ComputerDirector(); director.MakeComputer(builder); var computer = builder.Computer; Console.WriteLine(computer); }
public void TestHighEndBuilderConstruction() { //Initialize the builder var highEndBuilder = new HighEndComputerBuilder(); //Tell the director to construct the builder //No exceptions should occure while building the computer since the components are hardcoded by the developer ComputerDirector.Construct(highEndBuilder); //Check each component of the Computer object to ensure that no components are missing and were successfully initialized Assert.IsNotNull(highEndBuilder.Computer.Motherboard); Assert.IsNotNull(highEndBuilder.Computer.HardDrive); Assert.IsNotNull(highEndBuilder.Computer.Case); }
public void ShouldBuildFullComputerUsingDirector() { ComputerDirector computerDirector = new ComputerDirector(); IComputerBuilder builder = new ComputerBuilder(); builder.SetHardDrive(12.3, "SSD", 15, 22); builder.SetMotherBoard(4, 500, 3, "ATX", 4); builder.SetCpu(1200, "AMD", "AM4", 500, 6); builder.SetMemory(2000, 2000, "DDR4", 16); builder.SetGraphicsCard(2, 2000, 1400, 4); builder.SetCase(100, 30, 100, 4, 4); var computer = computerDirector.Construct(builder); Assert.NotNull(computer.HardDrive); Assert.NotNull(computer.Motherboard); Assert.NotNull(computer.Cpu); Assert.NotNull(computer.Memory); Assert.NotNull(computer.GraphicsCard); Assert.NotNull(computer.Case); }
static void Main(string[] args) { //ProductDirector productDirector = new ProductDirector(); //var builder = new OldCustomerProductBuilder(); //productDirector.GenerateProduct(builder); //var model = builder.GetProduct(); //Console.WriteLine(model.Id); //Console.WriteLine(model.CategoryName); //Console.WriteLine(model.ProductName); //Console.WriteLine(model.UnitPrice); //Console.WriteLine(model.DiscountedPrice); //Console.WriteLine(model.DiscountApplied); ComputerDirector computer = new ComputerDirector(); var computerModel = computer.CreateComputer(new StationComputerBuilder(new ComputerModel())); Console.WriteLine(computerModel.Processor); Console.WriteLine(computerModel.DisplayCard); Console.WriteLine(computerModel.Ram); }