Back to questions
Junior — Middle
92
Могли бы вы объяснить концепцию шаблонного метода и его применение в разработке?
Answer from AI
sobes.tech AI
Шаблонный метод (Template Method) — это поведенческий паттерн проектирования, который определяет скелет алгоритма в методе базового класса, оставляя некоторые шаги алгоритма для реализации в подклассах.
Это позволяет подклассам переопределять определённые части алгоритма, не меняя его общей структуры.
Пример применения: в базовом классе описывается общий процесс, например, обработки данных, а конкретные шаги (например, чтение данных, их обработка и сохранение) реализуются в подклассах.
Пример на Java:
abstract class DataProcessor {
// шаблонный метод
public final void process() {
readData();
processData();
saveData();
}
abstract void readData();
abstract void processData();
abstract void saveData();
}
class CSVProcessor extends DataProcessor {
void readData() { System.out.println("Чтение CSV"); }
void processData() { System.out.println("Обработка CSV"); }
void saveData() { System.out.println("Сохранение CSV"); }
}
Такой подход обеспечивает повторное использование кода и гибкость при расширении функционала.