Sobes.tech
Junior — Middle

Czy mógłbyś wyjaśnić, co oznacza wzorzec projektowy Builder?

sobes.tech AI

Odpowiedź od AI

Wzorzec Builder służy do stopniowego tworzenia złożonego obiektu. Oddziela proces konstruowania obiektu od jego reprezentacji, umożliwiając tworzenie różnych wariantów obiektu za pomocą tego samego procesu budowania.

Przykład w C#:

public class Pizza
{
    public string Dough { get; set; }
    public string Sauce { get; set; }
    public string Topping { get; set; }
}

public class PizzaBuilder
{
    private Pizza pizza = new Pizza();

    public PizzaBuilder SetDough(string dough) { pizza.Dough = dough; return this; }
    public PizzaBuilder SetSauce(string sauce) { pizza.Sauce = sauce; return this; }
    public PizzaBuilder SetTopping(string topping) { pizza.Topping = topping; return this; }

    public Pizza Build() { return pizza; }
}

// Użycie
var pizza = new PizzaBuilder()
    .SetDough("cienkie")
    .SetSauce("pomidorowa")
    .SetTopping("pepperoni")
    .Build();

Takie podejście upraszcza tworzenie obiektów z wieloma parametrami i poprawia czytelność kodu.