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);
        }
Beispiel #3
0
        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);
        }
Beispiel #5
0
        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);
        }