Sobes.tech
Junior — Middle
98

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

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();

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