Back to questions
Junior — Middle
60
Можете объяснить принцип работы и основные идеи шаблона Builder?
Companies where asked
adspector
Answer from AI
sobes.tech AI
Шаблон Builder используется для поэтапного создания сложных объектов, отделяя процесс построения от представления. Это удобно, когда объект имеет много параметров, некоторые из которых необязательны.
Основные идеи:
- Создаётся отдельный класс Builder, который содержит методы для установки параметров.
- Методы Builder возвращают сам Builder, что позволяет вызывать их цепочкой (fluent interface).
- В конце вызывается метод build(), который возвращает готовый объект.
Пример на Python:
class Car:
def __init__(self, color=None, engine=None, seats=None):
self.color = color
self.engine = engine
self.seats = seats
class CarBuilder:
def __init__(self):
self.color = None
self.engine = None
self.seats = None
def set_color(self, color):
self.color = color
return self
def set_engine(self, engine):
self.engine = engine
return self
def set_seats(self, seats):
self.seats = seats
return self
def build(self):
return Car(self.color, self.engine, self.seats)
# Использование:
builder = CarBuilder()
car = builder.set_color('red').set_engine('V8').set_seats(4).build()
Такой подход улучшает читаемость кода и упрощает создание объектов с множеством параметров.