Może posłużyć do opisania relacji jeden-do-wielu. Composit pozwala dodatkowo umieszczenie listy z obiektami w tym samym obiekcie. W poniższym przykładzie mamy interfejs Shape, który posiada klasy potomne Circle i Shape. CompositSape jest „kompozytem”, która przechowuje listę wielu instancji interfejsu Shape. Metoda Draw CompositeShape deleguje odpowiednie wywołanie do wszystkich obiektów składowych.

public interface Shape
{
  void Draw();
}

public class Circle : Shape
{
    public void Draw() {
    }
}

public class Square : Shape
{
    public void Draw()
    {
    }
}	

public class CompositeShape : Shape
{
    private List<Shape> itsShapes = new List<Shape>();

  public void Add(Shape s)
  {
    itsShapes.Add(s);
  }

  public void Draw()
  {
    foreach (Shape shape in itsShapes)
      shape.Draw();
  }
}