Sobes.tech
Junior — Middle
88

Чӣ гуна модел Factory барои эҷоди объектҳо амалӣ кардан мумкин аст?

Ҷавоб аз AI

sobes.tech AI

Паттерн Factory (фабрика) используется для создания объектов без указания конкретного класса создаваемого объекта. В Python это обычно реализуется через функцию или класс с методом, который возвращает экземпляры нужных классов в зависимости от входных параметров.

Пример реализации фабрики с классами животных:

class Dog:
    def speak(self):
        return "Гав"

class Cat:
    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:
            raise ValueError(f"Неизвестный тип животного: {animal_type}")

# Использование
animal = AnimalFactory.create_animal("dog")
print(animal.speak())  # Выведет: Гав

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