Sobes.tech
Junior — Middle
104

Mi a Factory minta fő szerepe és alkalmazása a szoftverfejlesztésben?

Válasz az MI-től

sobes.tech MI

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