Junior — Middle
78
Какова основная роль и применение паттерна Factory в разработке программного обеспечения?
AI-дан жауап
sobes.tech AI
Паттерн Factory служит для создания объектов без необходимости указывать конкретный класс создаваемого объекта напрямую. Это позволяет отделить логику создания объектов от их использования, что повышает гибкость и расширяемость кода.
Основная роль:
- Инкапсуляция процесса создания объектов.
- Позволяет создавать объекты разных классов, реализующих общий интерфейс, в зависимости от условий.
- Упрощает добавление новых типов объектов без изменения клиентского кода.
Пример на Python:
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
class AnimalFactory:
@staticmethod
def create_animal(animal_type):
if animal_type == "dog":
return Dog()
elif animal_type == "cat":
return Cat()
else:
raise ValueError("Unknown animal type")
# Использование
animal = AnimalFactory.create_animal("dog")
print(animal.speak()) # Выведет: Woof!
Таким образом, Factory упрощает управление созданием объектов и делает код более поддерживаемым.