Sobes.tech
Junior — Middle

Kas saaksite selgitada, mida mõistetakse disainimustri Builder all?

sobes.tech AI

Vastus AI-lt

Builder muster on kasutatud keerulise objekti samm-sammult loomisel. See eraldab objekti ehitamise protsessi selle esitlusest, võimaldades luua sama ehitusprotsessiga erinevaid objekti variante.

Näide 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; }
}

// Kasutamine
var pizza = new PizzaBuilder()
    .SetDough("õhuke")
    .SetSauce("tomat")
    .SetTopping("pepperoni")
    .Build();

Selline lähenemine lihtsustab mitme parameetriga objektide loomist ja parandab koodi loetavust.