Sobes.tech
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"); }
}

Такой подход обеспечивает повторное использование кода и гибкость при расширении функционала.