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"); }
static void Main(string[] args) { var director = new Manager(); IComputerBuilder builder = new CheapComputer(); director.ComputerBuilder = builder; #region Cheap computer Console.WriteLine("Cheap computer without DVD ROM:"); director.SellComputerWithoutDVD_ROM(); Console.WriteLine(builder.GetComputer()); Console.WriteLine("Cheap computer with full components:"); director.SellFullComputer(); Console.WriteLine(builder.GetComputer()); #endregion #region Exprensive Computer builder = new ExprensiveComputer(); Console.WriteLine("Exprensive computer without DVD ROM:"); director.SellComputerWithoutDVD_ROM(); Console.WriteLine(builder.GetComputer()); Console.WriteLine("Exprensive computer with full components:"); director.SellFullComputer(); Console.WriteLine(builder.GetComputer()); #endregion #region Assembly Console.WriteLine("Assembly:"); builder.SetCPU(); builder.SetMotherboard(); Console.WriteLine(builder.GetComputer()); #endregion Console.ReadLine(); }