Как реализовать паттерн Builder в Python?

Middle
235 просмотров
AFK Offer AI

Builder — пошаговое создание сложного объекта. Вместо конструктора с 20 параметрами — цепочка вызовов: Query().select("name").where(age=25).order_by("name").build(). В Python реализуется через method chaining: каждый метод возвращает self. Или через dataclass + отдельный builder-класс. @dataclass с default значениями часто заменяет builder. Ещё вариант — **kwargs + validate. Builder полезен, когда объект имеет много опциональных параметров и сложную логику валидации при создании.

Следующий вопрос

Как устроен request/response lifecycle?