Junior — Middle
Можете ли да обясните какво се разбира под патерна за проектиране Builder?
sobes.tech AI
Отговор от AI
Шаблонът Builder се използва за стъпково създаване на сложен обект. Той отделя процеса на конструиране на обекта от неговото представяне, позволявайки създаването на различни варианти на обекта с един и същ процес на изграждане.
Пример на 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; }
}
// Използване
var pizza = new PizzaBuilder()
.SetDough("тънко")
.SetSauce("домашен")
.SetTopping("пеперони")
.Build();
Този подход улеснява създаването на обекти с множество параметри и подобрява четливостта на кода.