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