Builder

Variante GoF con Director que orquesta llamadas al builder.

#Cuándo usarla

Cuando tienes recetas reutilizables de construcción (ej. "informe en PDF", "informe en Markdown") y quieres encapsularlas.

public interface IReportBuilder
{
    void AddTitle(string t);
    void AddSection(string body);
    Report GetResult();
}

public class ReportDirector
{
    public void BuildExecutiveSummary(IReportBuilder b)
    {
        b.AddTitle("Resumen ejecutivo");
        b.AddSection("KPIs del trimestre…");
        b.AddSection("Riesgos…");
    }
}
Cuándo NO aplicarlo

Cuando solo tienes una "receta": el director sobra.

#creational #director