Sobes.tech
Junior — Middle

Meg tudná magyarázni, mit értünk a Builder tervezési mintán?

sobes.tech MI

Válasz az MI-től

A Builder minta lépésről lépésre használható összetett objektumok létrehozására. Elkülöníti az objektum építési folyamatát annak reprezentációjától, lehetővé téve különböző változatok létrehozását ugyanazzal az építési folyamattal.

C# példában:

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

// Használat
var pizza = new PizzaBuilder()
    .SetDough("vékony")
    .SetSauce("paradicsom")
    .SetTopping("pepperoni")
    .Build();

Ez a megközelítés megkönnyíti a sok paramétert tartalmazó objektumok létrehozását és javítja a kód olvashatóságát.