Встречается на собеседованиях • сегодня
В чем разница между паттернами Фабрика и Абстрактная фабрика
Основное различие между паттернами Фабрика (Factory Method) и Абстрактная фабрика (Abstract Factory) заключается в уровне абстракции и решаемых задачах:
Factory Method:
- Определяет интерфейс для создания одного объекта
- Позволяет подклассам решать, какой класс инстанцировать
- Используется, когда у нас есть иерархия классов и нужно создавать объекты одного типа
Пример:
python
class Button:
pass
class WindowsButton(Button):
pass
class ButtonFactory:
def create_button(self) -> Button:
return Button()
class WindowsButtonFactory(ButtonFactory):
def create_button(self) -> Button:
return WindowsButton()
text
**Abstract Factory**:
- Создает семейства связанных объектов
- Инкапсулирует группу фабрик с общей темой
- Используется, когда нужно создавать набор взаимосвязанных объектов
Пример:
```python
class GUIFactory:
def create_button(self): pass
def create_checkbox(self): pass
class WinFactory(GUIFactory):
def create_button(self): return WinButton()
def create_checkbox(self): return WinCheckbox()
class MacFactory(GUIFactory):
def create_button(self): return MacButton()
def create_checkbox(self): return MacCheckbox()Фабричный метод - это создание одного продукта, абстрактная фабрика - создание семейства продуктов.

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