Sobes.tech
Junior — Middle
94

Могли бы вы объяснить, что подразумевается под паттерном проектирования Builder?

Answer from AI

sobes.tech 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();

Такой подход упрощает создание объектов с множеством параметров и повышает читаемость кода.