コード例 #1
0
        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");
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: KurnakovMaksim/Patterns
        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();
        }