Sobes.tech
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 упрощает управление созданием объектов и делает код более поддерживаемым.