24 lines
1.0 KiB
Markdown
24 lines
1.0 KiB
Markdown
# Фабричный метод
|
||
|
||
Порождающий паттерн проектирования, который определяет общий интерфейс для создания объектов в суперклассе, позволяя подклассам изменять тип создаваемых объектов.
|
||
|
||
Паттерн **Фабричный Метод** определяет интерфейс создания объекта, но позволяет субклассам выбрать создаваемый экземпляр. Таким образом, Фабричный Метод делегирует операцию создания экземпляра субклассам.
|
||
|
||
## Принципы
|
||
|
||
- Код должен зависеть от абстракций, а не от конкретных классов
|
||
|
||
## Схемы
|
||
|
||
![scheme-1](scheme-1.png)
|
||
|
||
![scheme-2](scheme-2.png)
|
||
|
||
![scheme-3](scheme-3.png)
|
||
|
||
![scheme-4](scheme-4.png)
|
||
|
||
![scheme-5](scheme-5.png)
|
||
|
||
![scheme-6](scheme-6.png)
|