Junior — Middle
66
Какова основная роль и применение паттерна Factory в разработке программного обеспечения?
Answer from 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 упрощает управление созданием объектов и делает код более поддерживаемым.