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