Back to questions
Junior — Middle
64
Каким образом реализовать паттерн Factory для создания объектов?
Answer from AI
sobes.tech AI
Паттерн Factory (фабрика) используется для создания объектов без указания конкретного класса создаваемого объекта. В Python это обычно реализуется через функцию или класс с методом, который возвращает экземпляры нужных классов в зависимости от входных параметров.
Пример реализации фабрики с классами животных:
class Dog:
def speak(self):
return "Гав"
class Cat:
def speak(self):
return "Мяу"
class AnimalFactory:
@staticmethod
def create_animal(animal_type):
if animal_type == "dog":
return Dog()
elif animal_type == "cat":
return Cat()
else:
raise ValueError(f"Неизвестный тип животного: {animal_type}")
# Использование
animal = AnimalFactory.create_animal("dog")
print(animal.speak()) # Выведет: Гав
Таким образом, фабрика инкапсулирует логику создания объектов и позволяет клиентскому коду работать с абстракциями, не завися от конкретных классов.