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.