using System.Collections.Generic;
public static void Main()
var builder = new BurgerBuilder()
.WithSauce().WithChili().Build()
.WithSauce().WithCurry().Build()
public class BurgerBuilder
private List<object> ingredients;
ingredients = new List<object>();
public BurgerBuilder WithBread()
ingredients.Add("Bread");
public BurgerBuilder WithBeef()
public SauceBuilder WithSauce()
var sauce = new SauceBuilder(this);
public BurgerBuilder Build()
public class SauceBuilder
private readonly BurgerBuilder burgerBuilder;
public SauceBuilder(BurgerBuilder burgerBuilder)
this.burgerBuilder = burgerBuilder;
public SauceBuilder WithCurry()
burgerBuilder.ingredients.Add("Curry");
public SauceBuilder WithChili()
burgerBuilder.ingredients.Add("Chili");
public BurgerBuilder Build()