Sobes.tech
Junior — Middle
118

¿Puede explicar qué se entiende por patrón fábrica en el contexto del diseño de sistemas de software?

Respuesta de la IA

sobes.tech AI

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

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

Пример на Java:

interface Animal {
    void speak();
}

class Dog implements Animal {
    public void speak() {
        System.out.println("Гав-гав");
    }
}

class Cat implements Animal {
    public void speak() {
        System.out.println("Мяу");
    }
}

class AnimalFactory {
    public static Animal createAnimal(String type) {
        if ("dog".equalsIgnoreCase(type)) {
            return new Dog();
        } else if ("cat".equalsIgnoreCase(type)) {
            return new Cat();
        }
        throw new IllegalArgumentException("Неизвестный тип животного");
    }
}

// Использование:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Выведет: Гав-гав

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