Junior — Middle
91
Builder şablonunun çalışma prensibini ve temel fikirlerini açıklayabilir misiniz?
Sorulan şirketler
adspector
AI'dan gelen yanıt
sobes.tech yapay zeka
Шаблон 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()
Такой подход улучшает читаемость кода и упрощает создание объектов с множеством параметров.