Junior — Middle
82
Можете объяснить принцип работы и основные идеи шаблона Builder?
Сұралған компаниялар
adspector
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()
Такой подход улучшает читаемость кода и упрощает создание объектов с множеством параметров.