Sobes.tech
Junior — Middle
94

Олмони паттерни Factory-и кор кардани принсипи кор ва мақсади асосии он чӣ гуна аст?

Ширкатҳо дар куҷо пурсиданд
Код Открытия

Ҷавоб аз 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())  # Выведет: Гав

Таким образом, клиентский код не зависит от конкретных классов животных, а работает через фабрику.