コード例 #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
        public void Test1()
        {
            var director = new Director();
            var builder  = new ConcreteBuilderA();

            director.Builder = builder;

            // product 1
            director.BuildProduct1();
            var parts1 = builder.GetProduct().ListParts();

            Assert.Equal("PartA,PartC", parts1);
        }
コード例 #3
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();
        }
コード例 #4
0
        static void Main(string[] args)
        {
            AbstractBuilder build_1    = new ConcreteBuilderA();
            BuildDirector   director_1 = new BuildDirector(build_1);
            Product         p_1        = null;

            p_1 = director_1.ConstructProduct();
            p_1.Show();

            AbstractBuilder build_2    = new ConcreteBuilderB();
            BuildDirector   director_2 = new BuildDirector(build_2);

            p_1 = director_2.ConstructProduct();
            p_1.Show();

            Console.ReadLine();
        }
コード例 #5
0
        public void ConstructTest01()
        {
            // 创建指挥者和构造者
            Director    director = new Director();
            BaseBuilder builder  = new ConcreteBuilderA();

            // 组装电脑
            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]);
        }