using System.Collections.Generic;
Builder builder = new ConcreteBuilder();
Director director = new Director(builder);
Product product = builder.GetResult();
public Director(Builder builder)
public abstract class Builder
public abstract void BuildPartA();
public abstract void BuildPartB();
public abstract void BuildPartC();
public abstract Product GetResult();
List<object> parts = new List<object>();
public void Add(string part)
public class ConcreteBuilder : Builder
Product product = new Product();
public override void BuildPartA()
public override void BuildPartB()
public override void BuildPartC()
public override Product GetResult()