Встречается на собеседованиях • сегодня

Какие знаешь методы реализации шаблонного проектирования

В Java шаблонное проектирование (Template Method) реализуется через абстрактные классы и методы.

Основные подходы:

  1. Абстрактный класс с шаблонным методом, содержащим общую логику, и абстрактными методами для переопределения.
  2. Hook-методы (необязательные для переопределения) с дефолтной реализацией.

Пример:

java
abstract class Game {
    // Шаблонный метод (final, чтобы нельзя было переопределить)
    final void play() {
        initialize();
        start();
        end();
    }

    abstract void initialize();
    abstract void start();
    void end() { System.out.println("Game over!"); } // Hook-метод
}

class Chess extends Game {
    void initialize() { System.out.println("Chess initialized"); }
    void start() { System.out.println("Chess started"); }
}

Плюсы:

  • Избегает дублирования кода.
  • Гибкость через переопределение.

Минусы:

  • Жесткая связь с родительским классом.
  • Может усложнить иерархию.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы