Sobes.tech
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())  # Выведет: Гав

Таким образом, результатом использования шаблона фабрика является создание объектов нужного типа, скрывая детали их создания и позволяя легко расширять и модифицировать создаваемые объекты.