Sobes.tech
Junior — Middle

Ar galėtumėte paaiškinti, kas yra dizaino šablonas Builder?

sobes.tech AI

Atsakymas iš AI

Builder šablonas naudojamas sudėtingo objekto kūrimui žingsnis po žingsnio. Jis atskiria objekto konstravimo procesą nuo jo reprezentacijos, leidžiant sukurti skirtingas objekto variacijas su tuo pačiu kūrimo procesu.

Pavyzdys 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; }
}

// Naudojimas
var pizza = new PizzaBuilder()
    .SetDough("plona")
    .SetSauce("pomidoru")
    .SetTopping("pepperoni")
    .Build();

Šis požiūris palengvina daug parametrų turinčių objektų kūrimą ir pagerina kodo skaitomumą.