コード例 #1
0
        static void TestSample2()
        {
            // Create director and builders

            Director director = new Director();

            Builder b1 = new ConcreteBuilderA();
            Builder b2 = new ConcreteBuilderB();

            // Construct two products

            director.Construct(b1);
            Product p1 = b1.GetResult();

            p1.ShowParts();

            director.Construct(b2);
            Product p2 = b2.GetResult();

            p2.ShowParts();

            // Wait for user

            System.Console.ReadKey();
        }
コード例 #2
0
ファイル: BuilderPatternTest.cs プロジェクト: alexcxd/Text
        public void BuilderPatternCodeTest()
        {
            ConcreteBuilderA concreteBuilderA = new ConcreteBuilderA();
            ConcreteBuilderB concreteBuilderB = new ConcreteBuilderB();

            Director director = new Director();

            director.Construct(concreteBuilderA);
            var aProcudt = concreteBuilderA.GetResult();

            aProcudt.Show();

            director.Construct(concreteBuilderB);
            var bProduct = concreteBuilderB.GetResult();

            bProduct.Show();
        }
コード例 #3
0
        public void ConstructTest02()
        {
            // 创建指挥者和构造者
            Director    director = new Director();
            BaseBuilder builder  = new ConcreteBuilderB();

            // 组装电脑
            director.Construct(builder);
            // 组装完毕
            var computer = builder.GetComputer();

            // 组装清单
            var list = computer.Parts;

            // 验证
            Assert.AreEqual("组件高性能CPU安装完毕", list[0]);
            Assert.AreEqual("组件主板安装完毕", list[1]);
            Assert.AreEqual("组件显卡安装完毕", list[2]);
            Assert.AreEqual("组件声卡安装完毕", list[3]);
        }