Back to questions
Junior — Middle
66
Можете показать пример использования паттерна Builder для создания объектов?
Answer from AI
sobes.tech AI
Паттерн Builder используется для поэтапного создания сложных объектов с возможностью настройки параметров. В C# это часто реализуется через цепочку методов, возвращающих самого билдера, и метод Build для получения итогового объекта.
Пример:
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("thin crust")
.SetSauce("tomato")
.SetTopping("mozzarella")
.Build();