Встречается на собеседованиях • сегодня

В чем разница между фабричным методом и фабрикой в Java

Фабричный метод — это паттерн, где подклассы решают, какой класс инстанцировать. Он использует наследование и делегирует создание объектов подклассам.

Фабрика (абстрактная фабрика) — это паттерн для создания семейств связанных объектов без указания их конкретных классов. Он использует композицию.

Пример фабричного метода:

java
abstract class Creator {
    abstract Product factoryMethod();
}

class ConcreteCreator extends Creator {
    Product factoryMethod() {
        return new ConcreteProduct();
    }
}

Пример фабрики:

java
interface AbstractFactory {
    ProductA createProductA();
    ProductB createProductB();
}

class ConcreteFactory implements AbstractFactory {
    public ProductA createProductA() { return new ProductA1(); }
    public ProductB createProductB() { return new ProductB1(); }
}

Ключевое отличие: фабричный метод создает один продукт через наследование, а фабрика создает семейство продуктов через композицию.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы