This repository has been archived on 2022-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
patterns/templatemethod/README.md

24 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Шаблонный метод
Поведенческий паттерн проектирования, который определяет скелет алгоритма, перекладывая ответственность за некоторые его шаги на подклассы. Паттерн позволяет подклассам переопределять шаги алгоритма, не меняя его общей структуры.
Паттерн **Шаблонный Метод** задает «скелет» алгоритма в методе, оставляя определение реализации некоторых шагов субклассам. Субклассы могут переопределять некоторые части алгоритма без изменения его структуры.
## Принципы
- Не вызывайте нас - мы вас сами вызовем
Алгоритм определяется суперклассом, поэтому последний должен сам обращаться к субклассам, когда потребуется.
## Схемы
![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)