Back to questions
Junior — Middle
70
Какие результаты создаются при использовании шаблона фабрика?
Answer from AI
sobes.tech AI
Шаблон проектирования «Фабрика» (Factory) используется для создания объектов без указания конкретного класса создаваемого объекта. В результате применения этого шаблона создаются объекты, инкапсулированные в фабричный метод или класс, что позволяет легко менять тип создаваемых объектов без изменения клиентского кода.
Например, при использовании фабрики можно получить разные подклассы одного интерфейса в зависимости от параметров, переданных фабрике.
Пример на Python:
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Гав"
class Cat(Animal):
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:
return None
# Использование
animal = AnimalFactory.create_animal("dog")
print(animal.speak()) # Выведет: Гав
Таким образом, результатом использования шаблона фабрика является создание объектов нужного типа, скрывая детали их создания и позволяя легко расширять и модифицировать создаваемые объекты.