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(); }
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(); }
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]); }