Встречается на собеседованиях • сегодня
В чем разница между абстрактной фабрикой и фабричным методом
Абстрактная фабрика предоставляет интерфейс для создания семейств связанных или зависимых объектов, не указывая их конкретных классов. Фабричный метод определяет интерфейс для создания одного объекта, но позволяет подклассам решать, какой класс инстанцировать.
Абстрактная фабрика:
java
interface GUIFactory {
Button createButton();
Checkbox createCheckbox();
}
class WinFactory implements GUIFactory {
public Button createButton() { return new WinButton(); }
public Checkbox createCheckbox() { return new WinCheckbox(); }
}
text
**Фабричный метод:**
```java
abstract class Dialog {
abstract Button createButton();
void render() {
Button button = createButton();
button.render();
}
}
class WindowsDialog extends Dialog {
Button createButton() { return new WinButton(); }
}Ключевое отличие: абстрактная фабрика работает с группами объектов, фабричный метод - с одним. Абстрактная фабрика часто использует фабричные методы для реализации.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы