24 lines
1.3 KiB
Markdown
24 lines
1.3 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)
|